SqlServer create table with MySql like auto_increment primary key我想在SqlServer中创建一个表,该表将在插入时添加自动递增的主键。 这应该是一个类似于MySql auto_increment功能的自动递增的ID。 (下面)
有没有一种方法而无需创建插入触发器? 像这样
他们已经回答了您的问题,但是我想为刚使用身份列的人提供一些建议。在某些情况下,您必须返回刚刚插入的身份的值,以便可以将其插入相关表中。许多资料会告诉您使用@@ identity来获取此值。如果要保持数据完整性,在任何情况下都不要使用@@ identity。如果将其中一个添加到另一个表中,它将提供在触发器中创建的标识。由于您不能保证@@ identity的值始终正确,因此最好不要使用@@ identity。使用scope_identity()获取此值。我知道这与主题无关,但是对于您了解如何在SQL Server中使用身份很重要。相信我,您不想解决相关记录具有错误的标识值的问题。在被发现之前,这可能会悄悄地出错几个月,并且之后几乎无法修复数据。 OP请求了自动递增的主键。 IDENTITY关键字本身不会使列成为主键。
正如其他人提到的:将IDENTITY属性添加到该列,并使其成为主键。 但是,MSSQL的IDENTITY和MySQL的AUTO_INCREMENT之间存在差异:
只需将字段设置为身份字段即可。 如上所述,请使用IDENTITY字段。
声明该字段为身份 正如其他人所说,只需设置"身份"选项即可。 |