插入记录时指定标识(ID)的值

作者:vkvi 来源:ITPOW(原创) 日期:2010-8-5

标识是自动增长的,默认情况下,我们是无法为其指定值的,也是没有必要的。若特殊情况下,我们要为其指定值插入记录,可以这么做:

string sql = @"insert into tbl(id, title) values(1, '')";
sql = "SET IDENTITY_INSERT tbl ON;" +
      sql + ";" +
      "SET IDENTITY_INSERT tbl OFF";

tbl 是表名,最终 sql 形成三句语句:第一句打开按标识插入;第二句执行插入语句;第三句关闭按标识插入(复原)。

任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则会发生错误。

相关阅读

相关文章