关于GUID的一点了解

上班第七天勒,老大依然米来,无聊的呆坐。

 

想研究些东西又不得,听到灰太狼说到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了

 

 

阅读更多
个人分类: c#.net
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭