Sql INSERT语句中主键的棘手问题
我在SQL Server数据库中有一个具有自动递增主键的表Sql INSERT语句中主键的棘手问题,sql,sql-server,Sql,Sql Server,我在SQL Server数据库中有一个具有自动递增主键的表[ID]。是否有某种方法将[ID]列包含在INSERT语句中,以便数据库忽略它?关于表格配置的一些技巧 我不是在电脑上工作(在欧姆龙NJ PLC上),所以我不能自己写语句。相反,它们是从结构映射的。而且,如果可能的话,我想对INSERT和SELECT使用相同的结构(我需要[ID]以便以后进行更新)。我也不想自己生成索引。虽然在SQL Server中,它的危害较小。,但您需要为插入的列提供一个值。有一个名为DEFAULT的特殊值插入默认值。
[ID]
。是否有某种方法将[ID]
列包含在INSERT
语句中,以便数据库忽略它?关于表格配置的一些技巧
我不是在电脑上工作(在欧姆龙NJ PLC上),所以我不能自己写语句。相反,它们是从结构映射的。而且,如果可能的话,我想对
INSERT
和SELECT
使用相同的结构(我需要[ID]
以便以后进行更新)。我也不想自己生成索引。虽然在SQL Server中,它的危害较小。,但您需要为插入的列提供一个值。有一个名为DEFAULT
的特殊值插入默认值。但是,它不能与IDENTITY
列一起使用
通常的insert
方法是省去列:
insert into t (<all columns but id>)
values (<all values for other columns>);
是一个dbfiddle。在SQL Server中,需要为插入的列提供一个值。有一个名为DEFAULT
的特殊值插入默认值。但是,它不能与IDENTITY
列一起使用
通常的insert
方法是省去列:
insert into t (<all columns but id>)
values (<all values for other columns>);
是dbfiddle。如果要在标识上插入ID的显式值,可以在插入之前使用SET insert_identity on语句。之后,您将通过语句SET INSERT_identity OFF再次启用标识
希望这有帮助。如果要在标识上插入ID的显式值,可以在插入之前使用SET insert_identity on语句。之后,您将通过语句SET INSERT_identity OFF再次启用标识
希望这有帮助。谢谢!巧妙的把戏。虽然我决定采取不同的方法,但在这个问题消失的地方,触发器在解决另一个问题时很方便,我做到了。谢谢!巧妙的把戏。虽然我决定采取不同的方法,当这个问题消失时,触发器在解决另一个问题时很方便。