您可以在SQL Server表中定义一个新列,为新行自动生成唯一标识符吗?

kri*_*son 7 sql t-sql sql-server sql-server-2012

SQL Server中的自动增量列会自动填充; 是否可以定义一个UniqueIdentifier列以在插入时自动生成而不使用触发器?

这将是桌面上的次要唯一键.我需要创建它,因为我们现在需要一个公共主键,可以在查询字符串中使用.

传统基础结构仍依赖于旧的int主键.鉴于旧的基础架构首先创建了记录,我希望SQL Server在插入时透明地创建辅助GUID密钥 - 如果可能的话.

非常感谢

Mad*_*nan 13

您可以使用具有Uniqueidentifier类型的列,其默认值为NEWID()

  • 或者更好的是:默认的`NEWSEQUENTIALID()`来减少索引的碎片.... (9认同)