上班第七天勒,老大依然米来,无聊的呆坐。
想研究些东西又不得,听到灰太狼说到GUID。
呵呵,发现还挺好用的,就浅显的看了下、
1,百度百科里的解释:
Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier)
GUID/UUID是通过特定算法产生的一个二进制长度为128位的数字,
在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同,
在公元3400年以前产生的UUID/GUID与任何其他产生过的UUIDs/GUIDs都不相同。
在需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。
GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。
如Word文档,创建一个唯一的标识,GUID值就是这个唯一的标识码。GUID广泛应用于微软的产品中,用于识别接口、复制品、记录以及其他对象。不同类型的对象对应不同的GUID值。例如,一个微软Access数据库使用的是16字节域为复制品创建一个唯一标识。
微软的某种GUID值本质、形成GUID值方法以及由于GUID值产生的潜在弊端已经引起了保密性提倡者的关注。1999年3月,美国联邦商务委员会接到要求,对微软的GUID值使用进行调查。
2,C#程序里的应用:
页面输出结果如下(每次都不一样):
e60ffeedbb6d4b4fbed6c004e9b60b19
e60ffeed-bb6d-4b4f-bed6-c004e9b60b19
{e60ffeed-bb6d-4b4f-bed6-c004e9b60b19}
(e60ffeed-bb6d-4b4f-bed6-c004e9b60b19)
3,数据库作为ID列:
create table table1
(
tid uniqueidentifier not null,
tname varchar(50) null,
tage int null,
tsex char(1) null,
constraint PK_table1 primary key (tid)
)
GUID在SQL2005中就是uniqueidentifier的类型;
如下代码:
newid() 就是生成一个guid;自动生成的话,在编程工具中可以简单实现,
不过使用sql语句更为简单,还是以table1为例:
insert into table1 values(newId(),'张三',20,'0')
这样就OK了