仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表中的标识列指定显式值

今天在处理数据时遇到这样一个错误

消息 8101,级别 16,状态 1,第 1 行

仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'dbo.StockDetailValue'中的标识列指定显式值。

遇到这个问题怎么去处理呢?

 

----表一
CREATE TABLE TB1(ID INT IDENTITY(1,1),NAME VARCHAR(100))
----表二
CREATE TABLE TB2(ID INT IDENTITY(1,1),NAME VARCHAR(100))
---插入测试数据
insert into TB1 SELECT 'JACK1'
insert into TB1 SELECT 'JACK2'
insert into TB1 SELECT 'JACK3'
insert into TB1 SELECT 'JACK4'
----------将表一的数据插入到表二
insert into TB2 Select * From TB1

 

运行上面的代码,结果出错了

解决办法:指定列就OK

insert into TB2(NAME) Select NAME From TB1

 

 

 

posted @ 2015-12-11 09:56  OLIVER_QIN  阅读(10500)  评论(0编辑  收藏  举报