一尘不染

SQL-如何在不自动增加ID列的情况下插入行?

sql

我有一个具有强制自动递增列的表,该列是非常有价值的ID,在整个应用程序中都会保留。抱歉地说,将它设置为自动递增列对我而言是不好的发展。

所以,这就是问题所在。我必须在此表中插入已经创建并从表中删除的列的ID。有点像重新创建此ID并将其放回表中。

因此,如何在不关闭列增量的情况下以编程方式执行此操作。如果我错了,请纠正我,如果我以编程方式将其关闭,它将以0或1重新启动,我不希望这种情况发生…


阅读 174

收藏
2021-03-17

共1个答案

一尘不染

如果您使用的是Microsoft SQL Server,则可以通过发出以下语句来“关闭” autoIncrementing功能Set Identity_Insert [TableName] On,如下所示:

  Set Identity_Insert [TableName] On
  -- --------------------------------------------
  Insert TableName (pkCol, [OtherColumns])
  Values(pkValue, [OtherValues])
  -- ---- Don't forget to turn it back off ------
  Set Identity_Insert [TableName] Off
2021-03-17