【发布时间】:2016-03-22 07:14:18
【问题描述】:
我需要在已经存在的表中添加一列并将其设置为主键。我使用其他软件添加新数据。为什么GIANGGUID 列的值是00000000-0000-0000-0000-000000000000?
ALTER TABLE dbo.Test
ADD [GIANGGUID] UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY;
【问题讨论】:
-
问题是什么???
-
为什么 GIANGGUID 列的值为 00000000-0000-0000-0000-000000000000?
-
大多数时候在 SQL Server 中使用 GUID 作为主键是一种不好的做法,请参阅此答案stackoverflow.com/questions/11938044/…
-
我们需要确切知道如何插入包含 00000000-0000-0000-0000-000000000000 GUID 的行。无论您是在添加默认值之前还是之后插入它。从你的问题来看,这并不是很清楚。 (此外,如果您使用 GUID 作为主键,则需要小心;需要考虑很多变量,但
NEWSEQUENTIALID()可能比NEWID()更好。甚至可能是简单的递增整数,如果你能管理的话。) -
你在使用 ORM 吗?如果有,是哪一个?无论如何,它看起来好像您的插入显式地插入了该值,因此默认值永远不会进入它。
标签: sql-server guid