uniqueidentifier 資料型別

2021-04-12 16:43:04 字數 1810 閱讀 9759

想要產生這種唯一標識的格式的資料:

6f9619ff-8b86-d011-b42d-00c04fc964ff

應該怎麼做呢?

答:uniqueidentifier 資料型別可儲存 16 位元組的二進位制值,其作用與全域性唯一識別符號 (guid) 一樣。guid 是唯一的二進位制數;世界上的任何兩台計算機都不會生成重複的 guid 值。guid 主要用於在擁有多個節點、多台計算機的網路中,分配必須具有唯一性的識別符號。

uniqueidentifier 列的 guid 值通常通過下列方式之一獲取:

transact-sql newid 函式以及應用程式 api 函式和方法用它們的網絡卡的標識號加上 cpu 時鐘的唯一編號來生成新的 uniqueidentifier 值。每個網絡卡都有唯一的標識號。newid 返回的 uniqueidentifier 值是通過使用伺服器上的網絡卡而生成的。應用程式 api 函式和方法返回的 uniqueidentifier 值是通過使用客戶端中的網絡卡而生成的。

uniqueidentifier 值通常不定義為常量。您可以按下列方式指定 uniqueidentifier 常量:

uniqueidentifier 資料型別不會按照 identity 屬性的方式為插入的行自動生成新的 id。例如,若要獲取新的 uniqueidentifier 值,則表必須具有指定 newid 函式或 newsequentialid 函式的 default 子句,或 insert 語句必須使用 newid 函式。 

create

table

myuniquetable

(uniquecolumn   

uniqueidentifier

default

newid

(),characters      

varchar(10

) )go

insert

into

myuniquetable(characters) 

values

('uiok')

insert

into

myuniquetable 

values

(newid

(), 

'uiok')

go 注意:

您可以使用 newsequentialid 生成 guid 以減少葉級別索引上的頁爭用。newsequentialid 只能與 uniqueidentifier 型別的表列的 default 約束一起使用。

uniqueidentifier 列中可以多次出現某個 uniqueidentifier 值,除非對該列也指定了 unique 或 primary key 約束。當多個行引用源表中的同乙個主鍵時,引用其他表中 uniqueidentifier 主鍵的外來鍵列中可以多次出現各個 uniqueidentifier 值。

乙個表可以有多個 uniqueidentifier 列。每個表中可以指定乙個具有 rowguidcol 屬性的 uniqueidentifier 列。rowguidcol 屬性指明此列的 uniqueidentifier 值可唯一地標識表中的行。但是,屬性不會執行任何強制實現唯一性的操作。必須使用其他機制強制實現唯一性,例如指定列的 primary key 約束。rowguidcol 屬性主要用於 microsoft sql server 2005 複製。具有更新訂閱的合併複製和事務複製使用 uniqueidentifier 列來確保在表的多個副本中唯一地標識行。

uniqueidentifier 資料型別具有下列缺點:

在不要求全域性唯一性或首選使用按序列增加的鍵時,請考慮使用 identity 屬性。

uiok

使用 uniqueidentifier 資料

uniqueidentifier 資料型別可儲存 16 位元組的二進位制值,其作用與全域性唯一識別符號 guid 一樣。guid 是唯一的二進位制數 世界上的任何兩台計算機都不會生成重複的 guid 值。guid 主要用於在擁有多個節點 多台計算機的網路中,分配必須具有唯一性的識別符號。unique...

uniqueidentifier資料型別

在資料庫中在type上面提供了乙個新型的uniqueidentifier sql聯機幫助裡面是這麼介紹的 16 位元組 guid。uniqueidentifier 資料型別的列或區域性變數可通過以下方式初始化為乙個值 比較運算子可與 uniqueidentifier 值一起使用。不過,排序不是通過比...

mysql tinlong MySQL資料型別詳解

引言 mysql中定義資料欄位的型別對你資料庫的優化是非常重要的。mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別,如下腦圖所示 數值型別 型別大小範圍 有符號 範圍 無符號 用途 tinyint 1 位元組 128,127 0,255 小整數值 smallint 2 位...