我在使用 SQL Server,想要将表A中的一些行复制到包含MyColumnID的表B中。
因此,在复制之前,我想在新表中设置Identity_insert tableB ON,在最后设置Identity_insert tableB OFF,并使用IDENTITY(500,1)。
以下是我的代码:
set IDENTITY_INSERT tableB ON
...code...
set IDENTITY_INSERT tableB OFF **with IDENTITY(500,1)**
我知道最后一行是错误的。有人可以帮我吗?
identity_insert
的理解有误。当你将其设置为ON
时,实际上是在说“我要插入值到自增列中”,而当你将其设置为OFF
时,就是在说“回到自动分配值到自增列中”。在ON
调用期间告诉系统使用哪些身份值是没有意义的,因为系统不会分配任何值。 - Damien_The_Unbeliever