如果没有提供,则在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.. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |