当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR REPLICATION 标识列中插入内容时,必须为表 't2' 中的标识
我要将数据库dt1中的表t1中的 数据插入到数据库dt2中的表t2
t2中的字段 比 t1的多 并且都有自增列
我现在要把t2表中的内容插入到t1表中 自增列的内容也要插入
SET IDENTITY_INSERT dt2.dbo.t2 on
报上面的错
各位大大 谁能帮忙解决一下
[解决办法]
SET IDENTITY_INSERT dt2.dbo.t2 on;
insert dt2.dbo.t2(ID,col1.......)--指定所有列名
select * from t1
SET IDENTITY_INSERT dt2.dbo.t2 off;
舉個例子給樓主參照
USE tempdb
GO
CREATE TABLE T1(ID INT IDENTITY(10,1))
GO
CREATE TABLE T2(ID INT identity)
INSERT INTO t1 DEFAULT VALUES
go
INSERT INTO t2 DEFAULT VALUES
go 3
/*
T1:
-----
10
T2:
--
1
2
3
*/
SET IDENTITY_INSERT t2 ON;
INSERT t2(ID) SELECT * FROM t1
SET IDENTITY_INSERT t2 Off ;
/*
T2:
1
2
3
10
*/
INSERT INTO t2 DEFAULT VALUES
/*
T2:
1
2
3
10
11
*/
--SELECT * FROM t1
--SELECT * FROM t2
--DROP TABLE t1,t2