小编典典

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

sql

我正在更新数据库以为表中的每个记录的GUID列。

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

仅当没有为新记录传递任何值时,才如何在数据库端使用newid()填充此列?


阅读 169

收藏
2021-04-07

共1个答案

小编典典

请勿重复执行,请勿放置默认列NEWID()。如果执行GUID,则得到的将是完全随机的,并且如果在此列上具有任何索引,则将毫无用处。如果要执行此操作,则要将列默认设置为NEWSEQUENTIALID ( )

金伯利·特里普(Kimberly
Tripp)有一篇很棒的文章,也有另一篇很棒的文章

NEWSEQUENTIALID ( )默认实现:

CREATE TABLE foo
(unq_id UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(),
 cola varchar(10));
2021-04-07