插入具有预定义标识的行

时间:2014-04-24 13:51:36

标签: sql-server-2008

我在表格中插入一行时遇到问题;我收到这个错误:

  

“只有在使用列列表并且IDENTITY_INSERT为ON时才能指定表'Phone'中标识列的显式值”

这是我的疑问:

SET IDENTITY_INSERT Phone ON;  

Insert into Phone 
select * 
from Phone2
where Phone2.PhoneID=5;

SET IDENTITY_INSERT Phone OFF;

我只需要将身份更改为int,我该怎么做?

感谢

2 个答案:

答案 0 :(得分:0)

您需要在insert语句中指定列列表

SET IDENTITY_INSERT Phone ON; 

Insert into Phone (key_col, col1, col2) 
select key_id, col1, col2 from Phone2 where Phone2.PhoneID=5 

SET IDENTITY_INSERT Phone OFF;

您可能希望将ID重新设置为大于手动插入的值

答案 1 :(得分:0)

有一个选项可以通过关闭来禁用列的标识,您可以按照以下link

中的说明将其更改为int