身份插入

时间:2009-01-04 22:46:19

标签: sql-server

任何人都可以,解释一下SET IDENTITY INSERT ON AND OFF的作用。

谢谢, 克里斯

4 个答案:

答案 0 :(得分:7)

假设您有一个包含自动增量/标识列的表。您执行插入时通常无法为此列指定值,因为它会自动填充。

但是,如果您先致电SET IDENTITY_INSERT YourTable ON可以将特定值插入标识列。

我在手动合并表时经常使用它 - 我从未在经常执行的代码块中使用它。

另请注意,您一次只能在一张桌子上指定此内容。

答案 1 :(得分:3)

SET IDENTITY_INSERT ON

允许将显式值插入表的标识列。

答案 2 :(得分:3)

迈克尔哈伦给了你答案,但我想放大。使用此命令非常危险,除非在一些非常有限的情况下,否则不应使用它。当您使用它时,自动编号不再适用于任何人,因此所有将记录正常插入数据库的代码都将失败。因此,应尽可能在单用户模式下或至少在非工作时间内完成。不应该定期插入记录,而只是将数据从一个表合并到数据库重新设计中的新结构。如果您在使用此命令时不知道自己在做什么,则可能会使数据库的数据完整性陷入混乱。

答案 3 :(得分:-1)

chrisprat,到目前为止,您已经注册了一个星期,而您的所有活动都是提出五个问题,这些问题可以通过Google或MSDN轻松解答。

怎么了?