黑马程序员技术交流社区
标题:
MSSQL如何自动插入随机的主键
[打印本页]
作者:
徐传任
时间:
2012-9-23 10:55
标题:
MSSQL如何自动插入随机的主键
现在只会插入自增长的主键,例如
create table Users
(
userID int identity(1,1) primary key,
...
)
这样插入的是从1开始,每次加1有顺序的ID,怎样才可以生成随机的主键ID呢?
作者:
李阳Leo
时间:
2012-9-23 10:58
本帖最后由 李阳_TickTock 于 2012-9-24 09:34 编辑
数据库中,主键有两种选用策略
1.业务主键
2.逻辑主键
业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等
逻辑主键是使用没有任何业务意义的字段做主键。因为很难保证业务主键不会重复(身份证号重复)、不会变化(账号升位),因此推荐用逻辑主键。
GUID算法是一种可以产生唯一标示的高效算法,现在很多项目都倾向于用GUID做主键
GUID的优点是:效率高,数据导入导出方便。缺点是:占用空间大,不易读。
作者:
王杨武
时间:
2012-9-23 22:07
想要独一无二的主键?可以在下面设置一个自动增加的属性。
每当增加一个。数字就自动加1.
但是我觉得还是 Guid比较好。那么多的随机。根据电脑硬件的各方面的生成随机数。
作者:
liuyj
时间:
2012-9-24 08:23
在 SQL Server 中使用 GUID 来生成随机的id.
在 SQL Server 的表定义中将列类型指定为 uniqueidentifier,则列的值就为 GUID 类型。
可以使用 NewID() 函数可以产生 GUID 唯一值,将 uniqueidentifier 的列的默认值设为 NewID(),这样当新行插入表中时,会自动生成此列 GUID 值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2