参见英文答案 >
Cannot insert explicit value for identity column in table ‘table’ when IDENTITY_INSERT is set to OFF13个
Structure tables and result query on sqlfiddle
Structure tables and result query on sqlfiddle
我想使用查询:
INSERT INTO Price (id_price,id_firm,id_city,name) VALUES ('12002','1429','73041','АРЕНДА (ПРОКАТ) АВТОКРАНА Г/П 25Т'),('12003','ПЛИТКА КЕРАМИЧЕСКАЯ ГРАНИТ (КЕРАМОГРАНИТ) АССОРТ.'),('12004','РАБОТЫ ГРУЗОПОДЪЕМНЫЕ АВТОВЫШКА (ПОДЪЕМНИК)'),('12005','РАБОТЫ ГРУЗОПОДЪЕМНЫЕ АВТОКРАНОМ Г/П 25Т'),('12006','РАБОТЫ КОМПРЕССОРОМ ВСЕ ВИДЫ'),('12007','РАБОТЫ ПОГРУЗОЧНО-РАЗГРУЗОЧНЫЕ АВТОКРАНОМ-МАНИПУЛЯТОРОМ ГРУЖУ-ВОЖУ НА БАЗЕ ГАЗ Г/П 4Т'),('12008','РАБОТЫ СПЕЦТЕХНИКОЙ ВСЕ ВИДЫ'),('12009','РАБОТЫ СТРОИТЕЛЬНЫЕ ВСЕ ВИДЫ'),('120010','ФОРСУНКА Д/КАМАЗ ДВИГАТЕЛЬ КАММИНС (CUMMINS) АССОРТ.');
但我得到错误:
Cannot insert explicit value for identity column in table 'Price' when IDENTITY_INSERT is set to OFF.: INSERT INTO Price (id_price,name) VALUES ('12002','ФОРСУНКА Д/КАМАЗ ДВИГАТЕЛЬ КАММИНС (CUMMINS) АССОРТ.');
请告诉我为什么我会收到错误以及如何正确插入数据?
解决方法
SET IDENTITY_INSERT Table_Name ON; /* Do your Inserts */ SET IDENTITY_INSERT Table_Name OFF;
注意
Not a good practice,not advised at all. You may very well end up having duplicate values so let the identity column generate the values for you. if you want to be able to insert the values yourself then do not make it an identity column at all.