以下脚本执行失败
SET IDENTITY_INSERT dbo.MyTable ON
-- the table only has three columns, so there's no ambiguity
INSERT INTO dbo.MyTable
VALUES (1, 2, 3)
SET IDENTITY_INSERT OFF
其中会引发以下警告:
表'dbo.MyTable'中的Identity列的显式值 只能在使用列列表并且IDENTITY_INSERT时指定 开启。
列明确时,脚本将按预期执行。
SET IDENTITY_INSERT dbo.MyTable ON
INSERT INTO dbo.MyTable (ColA, ColB, ColC)
VALUES (1, 2, 3)
SET IDENTITY_INSERT OFF
为什么要使用列列表?
答案 0 :(得分:1)
安全性。这样可以确保您确实指定了id列,否则,如果错误地将IDENTITY_INSERT ON设置为ON,则可能会使您的表混乱很多。