|
在使用SQL Server中我们经常会使用标识列来做主键,一般情况下我们都将标识列设置成int类型,然后设置标识种子和增量。
但是如果数据库中的数据过大,那么int类型数据可能不够用,改怎么办呢?
在SQL Server中有一种数据类型UniqueIdentifier类型,该类型存储16字节的二进制值,为该列分配必须具有的唯一的标识符,因此该列的数值不可能存在重复,因此也可以作为主键来使用。
据说这种数据类型是更具当前时间和服务器网卡地址随机生成,100万年之内不会出现重复的值,看来足够我们使用了。哈哈哈。
设置某列的值为UniqueIdentifier类型,为非即可。
CREATE TABLE Test(
[id] [uniqueidentifier] NOT NULL,
[name] [varchar](20) NOT NULL,
[comm] [varchar](100)
)
然后插入数据的时候使用newID()函数插入数据即可。
insert into Test values(newID(),'TestForMe','This is just a test')
看看执行以后的结果,这样生成的标识列如论如何也不会有重复,而且相信对我们的系统来说,够用了。呵呵。
|
|
|