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,这是因为啥子原因啊,求指教。。。

上一篇:update 表名 set 某列名=now() where user in('user1','user2','user3');


下一篇:11,nginx入门与实战