我正在更新数据库以为表中的每个记录的GUID列。
该表由几个不同的来源填充,其中一些不会为新记录提供GUID。
仅当没有为新记录传递任何值时,才如何在数据库端使用newid()填充此列?
请勿重复执行,请勿放置默认列NEWID()。如果执行GUID,则得到的将是完全随机的,并且如果在此列上具有任何索引,则将毫无用处。如果要执行此操作,则要将列默认设置为NEWSEQUENTIALID ( )
NEWID()
NEWSEQUENTIALID ( )
金伯利·特里普(Kimberly Tripp)有一篇很棒的文章,也有另一篇很棒的文章。
要NEWSEQUENTIALID ( )默认实现:
CREATE TABLE foo (unq_id UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), cola varchar(10));