我正在尝试将一列添加到 uniqueidentifier 类型的现有 SQL 表中。该列不能为空,当然也是唯一的。我尝试过这段代码:
ALTER TABLE ScheduleJobs ADD CurrentInstanceID uniqueidentifier not null
其次是:
ALTER TABLE ScheduleJobs ADD CONSTRAINT DF_CurrentInstanceID DEFAULT newsequentialid() FOR CurrentInstanceID
但是,当我创建一个新记录(来自 C#)时,uniqueidentifier 始终全为零(可能为 null。)我可以在 C# 中创建 GUID 并在创建一个可以正常工作的新记录时将其传递给 sql,但我担心可以创建重复的 GUID。根据我的阅读,这似乎是一种极其罕见的情况,但是让任何类型的潜在错误四处飘荡似乎总是不好的做法。请注意,该字段不会是表的 PK。为了教育,欢迎提出建议和意见。
我正在使用带有 MS SQL SERVER 2008 的 C# 4.0 框架