消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。

时间:2023-03-09 19:58:01
消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。

像这样的问题怎么解决呢?

问题分析:

意思是你的主键是自动编号类型的,所以不能向该列插入数据。

解决办法:

执行 语句 :SET IDENTITY_INSERT CUSTOMER_TBL ON

然后在向表中插入数据,如insert into [HOTEL_DB].dbo.CUSTOMER_TBL(CUS_ALLMONEY,CUS_CARDID,CUS_DUETIME,CUS_ID,CUS_INTIME,CUS_MONEY,CUS_NAME,CUS_NOTES,CUS_PHONE,CUS_SEX,CUS_STATUS,RM_ID) select CUS_ALLMONEY,CUS_CARDID,CUS_DUETIME,CUS_ID,CUS_INTIME,CUS_MONEY,CUS_NAME,CUS_NOTES,CUS_PHONE,CUS_SEX,CUS_STATUS,RM_ID from [D:\MY DOCUMENTS\VISUAL STUDIO 2010\PROJECTS\HOTELMANAGER\HOTELMANAGER\DB\HOTEL.MDF].dbo.CUSTOMER_TBL这是把一个表里面的全部数据拷贝给另一个表。

如果还要向另一个表中插入数据的话,就要

执行 语句 :SET IDENTITY_INSERT CUSTOMER_TBL OFF

然后 打开要插入的另一个表

执行 语句 :SET IDENTITY_INSERT ROOM_TBL ON

接着插入数据,就OK了。