Ras*_*sto 24 database sql-server uniqueidentifier auto-increment
基本上我想以与身份相似的方式使用uniqueidentifier.我不想在其中插入值,它应该只是自动插入值,每行都有不同的值.我无法在uniqueidentifier类型的列上设置自动增量(属性'autoincrement'设置为false且不可编辑).
mar*_*c_s 30
甚至更好:使用newsequentialid()UNIQUEIDENITIFER列的默认值.这将为您提供一系列连续的GUID.
CREATE TABLE dbo.YourTable
(SerialID UNIQUEIDENTIFIER
CONSTRAINT DF_SerialID DEFAULT newsequentialid(),
.... (other columns)......
)
Run Code Online (Sandbox Code Playgroud)
问题是:newsequentialid 仅作为列默认值提供 - 您不能将其称为函数或任何内容.但这似乎符合您的要求.
更新: SQL Server Management Studio中似乎存在一个已确认的错误,该错误阻止指定newsequentialid()为交互式表设计器中列的默认值.
请参阅:http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/cad8a4d7-714f-44a2-adb0-569655ac66e6
解决方法:创建表而不指定任何默认值,然后在普通查询窗口中键入此T-SQL语句并运行它:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT DF_SerialID DEFAULT newsequentialid() FOR SerialID
Run Code Online (Sandbox Code Playgroud)
这应该够了吧!
我想你的意思是在SQLServer而不是C#...
将列设置为PRIMARY KEY和ROWGUID
RowGuid http://img341.imageshack.us/img341/8867/sqlserverrowguid.png