一.Uniqueidentifier数据类型
可存储16字节的二进制值
Uniqueidentifier用来存储一个全局惟一标识符,即GUID。GUID是惟一的二进制数:世界上的任何两台计算机都不会生成重复的GUID值
uniqueidentifier 值一般不定义为常量。
您能够按下列方式指定 uniqueidentifier 常量:
字符串格式:'6F9619FF-8B86-D011-B42D-00C04FC964FF'
二进制格式:0xff19966f868b11d0b42d00c04fc964ff 网络
二.生成Uniqueidentifier值
1.使用NewID()函数为 uniqueIdentifier 数据类型赋值
NewID()函数是从他们的网卡上的标识数字和CPU时钟的惟一的数字生成新的UniqueIdentifier数据 ,这个数据和GUID是同样的每台计算机能生成全球惟一的值,这样在多台计算机和多网络之间生成具备惟一性的标识符
2.直接将字符串的常量转化成这样的格式 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
举例:6F9619FF-8B86-D011-B42D-00C04FC964FF 为有效的UniqueIdentifier数据
3.直接赋于32位的十六位数据
举例 0xffffffff00000000ffffffff00000000ide
三.uniqueidentifier和identity
uniqueidentifier 根据 NEWID 产生的值是惟一的,能够做为主键,IDENTITY 表示标识,也是自增的,能够做为主键
uniqueidentifier 数据类型不会按照 IDENTITY 属性的方式为插入的行自动生成新的 ID。
例如,若要获取新的 uniqueidentifier 值,则表必须具备指定 NEWID 函数或 NEWSEQUENTIALID 函数的 DEFAULT 子句,或 INSERT 语句必须使用 NEWID 函数。 函数
在SQL中 ROWGUIDCOL表示新列是行的全局惟一标识列。
对于每一个表只能指派一个uniqueidentifier 列做为ROWGUIDCO列。
ROWGUIDCOL属性只能指派给uniqueidentifier列在SQL中 ROWGUIDCOL表示新列是行的全局惟一标识列。
对于每一个表只能指派一个uniqueidentifier 列做为ROWGUIDCO列。ROWGUIDCOL属性只能指派给uniqueidentifier列字符串