美文网首页
仅当使用列列表并且 IDENTITY_INSERT 为ON时,才

仅当使用列列表并且 IDENTITY_INSERT 为ON时,才

作者: zlchen | 来源:发表于2020-11-11 15:43 被阅读0次

一般对一张含有自增列的表插入数据,都会报错。

insert into tablename
select * from othertable
报错信息为:仅当使用列列表并且 IDENTITY_INSERT 为ON时,才能为表“XXX”中的标识列指定显式值。
为了给标识列指定显式值,在插入SQL之前设定IDENTITY_INSERT 为ON即可,另在插入数据的时候必须指定列名,省略会报错。   

SET IDENTITY_INSERT tablename ON
insert tablename(列1,列2)
select * from othertable
SET IDENTITY_INSERT tablename OFF
 
语法:SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
1)任何时候,一个会话只有一个表的IDENTITY_INSERT 属性可以设置为ON。如果某个表已将此属性设置为ON,则对另一个表发出SET IDENTITY_INSERT ON语句时,SQL Server将返回一个错误信息,指出SET IDENTITY_INSERT已设置为ON,并报告已将其属性设置为ON的表。
2)如果插入值大于表的当前标识值,则SQL Server自动将新插入值作为当前标识值使用。
3)SET IDENTITY_INSERT的设置是在执行或运行时设置的,而不是在分析时设置的。

相关文章

  • 仅当使用列列表并且 IDENTITY_INSERT 为ON时,才

    一般对一张含有自增列的表插入数据,都会报错。 SET IDENTITY_INSERT tablename ONi...

  • 无标题文章

    SET IDENTITY_INSERT [TABLE] ON/OFF 当想使用此命令关闭或者打开标识符列的自增功能...

  • redis数据结构--压缩列表

    压缩列表是列表和哈希的底层实现之一。当列表中元素较少,且元素为小整数或短字符串的时候,redis使用压缩列表作为列...

  • list类型操作2

    LPUSHX 语法 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。和 LPU...

  • Python 中else,你还可以这样用

    while/else仅当循环条件为假退出时(while没有被break终止)才运行else for/else仅当循...

  • 八点钟学院学习记录

    1、像起点中文网,和今日头条有些模块,仅当列表停止滚动的时候才加载图片。可以使用self perform..onM...

  • javaScript数据结构--散列表

    散列集合是由一个集合构成,但是插入、移除、或获取元素时,使用的是散列函数 散列表的代码实现 // 散列表 func...

  • Python 列表

    使用[]来表示列表; 获取元素使用下标来获取; 也可以使用下标截取部分列表; 截取列表时支持反向,步长为负数时,则...

  • emptyView不显示

    使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一...

  • SQL的约束_DEFAULT

    1 使用场景在创建数据表时,给某一列赋予一个默认值。当有 DEFAULT 约束的列,插入数据为空时,将使用该默认值...

网友评论

      本文标题:仅当使用列列表并且 IDENTITY_INSERT 为ON时,才

      本文链接:https://www.haomeiwen.com/subject/wpgebktx.html