sql uniqueidentifier数据类型详解

WBOY
发布: 2016-06-07 17:48:42
原创
2060 人浏览过

uniqueidentifier数据类型可存储16字节的二进制值,其作用与全局唯一标记符(GUID)一样。GUID是唯一的二进制数:世界上的任何两台计算机都不会生成重复的GUID值。

在SQL中 ROWGUIDCOL表示新列是行的全局唯一标识列。对于每个表只能指派一个uniqueidentifier 列作为ROWGUIDCO列。ROWGUIDCOL属性只能指派给uniqueidentifier列

uniqueidentifier数据类型的赋值方法:

  1.使用NewID()函数来实现

  2.直接将字符串的常量转化为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    例如:6F9619FF-8B86-D011-B42D-00C04FC964FF

  3.直接赋予32位的十六位数据

    例如:0xffffffff00000000ffffffff00000000


其它

在SQL Server 2005中有一个数据类型uniqueidentifier,这个数据类型就是用于支持GUID(Global Unique Identifier)。这个类型的值是一个长度为32的定长字符串,比如”00000002-3378-a87f-92pj-2t68i97o34ms”。GUID可以保证该ID的全局唯一性,方便整合,以免因为数据互相Copy以及转化过程中因为ID相同引起不必要的冲突。在C#中有Guid类,方便我们生成和操作GUID。比如Guid.NewGuid.ToString()就可以得到一个新的GUID字符串。其实,GUID本质上可以认为是时间戳的MD5 Hash。在Lotus中,每个Document都有一个全局的唯一标识称作UNID(unique identifier)。这个UNID和上述GUID有着相同的机制。笔者在最近的项目中就完成了Lotus文档数据库向SQL Server 关系数据库转化的工作。涉及了比较多的GUID和UNID的操作。在SQL Server 2005中,uniquidentifier类型值总是可以用casting转化为定长(32)的varchar类型。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板