sql uniqueidentifier数据类型详解

WBOY
リリース: 2016-06-07 17:48:42
オリジナル
2063 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート