支付宝
微信
扫描二维码打赏
更多详情(暂无)

SQL Server 2008R2 Set IDENTITY_INSERT 表名 ON/OFF不能与insert into select 的语句一起执行?

大家都知数据库表中的列可以自增长,但是有时候我们需要插入数据的时候会指定这一列的数据。

这时候我们可以很简单的利用sql语句来执行新增一条的数据,如下:

set IDENTITY_INSER 表名 on

insert into 表名(列1,列2,...)values (值1,值2,...);

当然咯,不能忘记还原这一列的自增长啊

Set IDENTITY_INSERT 表名 OFF

我们大家都只知道,批量插入语句有一条比较简单的SQL

insert into 表1 select 列1,列2,.. from 表2 

这时候将set IDENTITY_INSER 表名 on与insert into 表1 select 列1,列2,.. from 表2 这两句执行就会报错

 IDENTITY_INSERT 为 ON 时,才能为表'表名'中的标识列指定显式值

这就很BAD,这是因为啥子原因啊,求指教。。。

 

 

---补充

 

insert into 表1(列1,列2,..)  select 列1,列2,.. from 表2 这两句执行就会报错

 

posted @ 2019-05-21 16:44  华临天下  阅读(916)  评论(0编辑  收藏  举报