如果没有提供,则在SQL Server中生成新的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..

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...