国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

uniqueidentifier 數據類型

2024-07-21 02:11:50
字體:
來源:轉載
供稿:網友

想要產生這種唯一標識的格式的數據:

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


應該怎么做呢?

================================================================

答:

uniqueidentifier 數據類型可存儲 16 字節的二進制值,其作用與全局唯一標識符 (guid) 一樣。guid 是唯一的二進制數;世界上的任何兩臺計算機都不會生成重復的 guid 值。guid 主要用于在擁有多個節點、多臺計算機的網絡中,分配必須具有唯一性的標識符。

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

在 transact-sql 語句、批處理或腳本中調用 newid 函數。

在應用程序代碼中,調用返回 guid 的應用程序 api 函數或方法。

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

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

字符串格式:'6f9619ff-8b86-d011-b42d-00c04fc964ff'

二進制格式:0xff19966f868b11d0b42d00c04fc964ff

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 數據類型具有下列缺點:

值長且難懂。這使用戶難以正確鍵入它們,并且更難記住。

這些值是隨機的,而且它們不支持任何使其對用戶更有意義的模式。

也沒有任何方式可以決定生成 uniqueidentifier 值的順序。它們不適用于那些依賴遞增的鍵值的現有應用程序。

當 uniqueidentifier 為 16 字節時,其數據類型比其他數據類型(例如 4 字節的整數)大。這意味著使用 uniqueidentifier 鍵生成索引的速度相對慢于使用 int 鍵生成索引的速度。

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


 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平县| 普兰店市| 兴宁市| 石嘴山市| 温宿县| 望江县| 江津市| 昔阳县| 阳山县| 光山县| 台东县| 双牌县| 滦平县| 巴林右旗| 绥化市| 溧水县| 五家渠市| 乐亭县| 龙川县| 安达市| 武定县| 黑河市| 吴川市| 富川| 双桥区| 土默特右旗| 天津市| 额济纳旗| 新民市| 赣榆县| 西乌珠穆沁旗| 金秀| 兴义市| 新乐市| 库尔勒市| 息烽县| 临安市| 庆城县| 泰来县| 丁青县| 汽车|