自动创建身份 (1,1) 但使用 GUID 而不是整数

Automatical creation of indentity(1,1) but with GUIDs instead of integers

一个巧妙的事情是将 identity(2,3) 放在列上以获得计数器和索引的唯一值。我想知道是否以及在这种情况下如何使用 guid 执行相同的操作。

因此,我不会使用 newid() 插入一行,而是会为我创建一个。

如果没有办法做到这一点,我想知道它背后的技术原理。有的话当然有。

create table Records (
  Id int identity(3,14) primary key,
  Occasion datetime not null,
  Amount float not null,
  Mileage int not null,
  Information varchar(999) default ' '
)

正如 懒惰 高效的@MartinSmith 评论的那样(但没有费心制定完整的回复,迫使我为他做,呵呵),我们可以使用default 关键字实现请求的行为,如下所示。

create table Records (
  Id uniqueidentifier primary key default newid(),
  Occasion datetime not null,
  Amount float not null,
  Mileage int not null,
  Information varchar(999) default ' '
)

如果这位懒惰的马丁愿意,他可能会复制这个答案的内容,post作为他自己的回复,因为这确实是他的建议,而我只是一个打字机他。鉴于他有不朽之神的名声,我怀疑他会,但仍然 - 我想把这一点说清楚。