当IDENTITY_INSERT设置为OFF时,SQL无法在表’Table’中为identity列插入显式值

前端之家收集整理的这篇文章主要介绍了当IDENTITY_INSERT设置为OFF时,SQL无法在表’Table’中为identity列插入显式值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Cannot insert explicit value for identity column in table ‘table’ when IDENTITY_INSERT is set to OFF13个
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.

原文链接:https://www.f2er.com/mssql/76535.html

猜你在找的MsSQL相关文章