加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如果没有提供,则在SQL Server中生成新的GUID

发布时间:2020-12-12 16:35:22 所属栏目:MsSql教程 来源:网络整理
导读:我正在更新我的数据库以为表中的每个记录的GUID列. 此表格由几个不同的来源填充,其中一些不会为新记录提供GUID. 只有在没有传入新记录的值的情况下,才能在DB侧使用newid()填充此列. 解决方法 不要重复,不要放置NEWID()的默认列.如果你做的GUID,你会得到的将是
我正在更新我的数据库以为表中的每个记录的GUID列.

此表格由几个不同的来源填充,其中一些不会为新记录提供GUID.

只有在没有传入新记录的值的情况下,才能在DB侧使用newid()填充此列.

解决方法

不要重复,不要放置NEWID()的默认列.如果你做的GUID,你会得到的将是完全随机的,如果你有任何类型的索引在这一列,这将是无用的.如果要执行此操作,您需要将列的默认值设置为NEWSEQUENTIALID()

Kimberly Tripp在这个问题上有一个Great Article和另一个Great Article.

要实现NEWSEQUENTIALID()作为默认值:

CREATE TABLE foo
(unq_id UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(),cola varchar(10));

Full SQL Fiddle example..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读