Как да коригирам грешката „Не мога да вмъкна изрична стойност за колона за идентичност в таблицата, когато IDENTITY_INSERT е зададена на OFF“?



Опитайте Нашия Инструмент За Премахване На Проблемите

Колоната на първичния ключ често е настроена на автоматично увеличаване при изграждане на база данни на SQL Server. Ограничението за ИДЕНТИЧНОСТ е зададено за колоната на първичния ключ, за да направи това. Началното местоположение и стъпката на нарастване се прехвърлят в колоната IDENTITY като параметри. След това всеки път, когато се добавя нов запис и вмъкването на идентичност е зададено на OFF, стойността на колоната IDENTITY се увеличава с предварително дефинираната стъпка, обикновено число. Освен това свойството IDENTITY INSERT е настроено на ON само за една таблица в една сесия.



В тази статия ще обсъдим грешката „Не може да се вмъкне изрична стойност за колона за идентичност в таблицата

когато IDENTITY_INSERT е зададен на OFF ” както е показано по-долу.



Изключване на „ИДЕНТИЧНОСТТА НА ВЪВЕЖДАНЕ“ и вмъкване на данни без „ИЗКЛЮЧИТЕЛЕН КЛЮЧ“ в оператор за вмъкване



Грешката възниква, когато потребителят е задал “identity_insert” на “OFF”. След това се опитва да вмъкне изрично данни в колоната на първичния ключ на таблицата. Това може да се обясни с примера по-долу.

Създаване на база данни и таблици:

Първо, създайте база данни с име „appuals“.

Създаване на база данни с име „appuals“.



Създайте таблица с име „човек“, като използвате следния код. Построена маса с помощта на „ОСНОВНА КЛЮЧОВА ИДЕНТИЧНОСТ“

СЪЗДАВАНЕ НА ТАБЛИЦА (ID INT IDENTITY (1, 1), first_name VARCHAR (MAX), last_name VARCHAR (MAX))

Създаване на таблица с име „човек“

Синтаксис за задаване на „identity_insert off | На':

The “Задаване на ident_insert off | На' ще ни помогне да разрешим тази грешка. Правилният синтаксис за този израз е както по-долу.

ЗАДАВАЙТЕ IDENTITY_INSERT. .
НА

Докато първият аргумент е името на базата данни, в която се намира таблицата. Вторият аргумент показва схемата, към която принадлежи тази таблица, чиято стойност на идентичност трябва да бъде зададена НА или ИЗКЛ . Третият аргумент

е таблицата с колоната за идентичност.

По същество има два различни начина за вмъкване на данни в таблицата без грешка. Те се считат за решение на тази грешка и са обсъдени по-долу.

Грешка 1: Задайте OFF_insert_insert

В първия случай ще вмъкнем данни в таблицата с „ВЪВЕЖДАНЕ НА ЛИЧНОСТТА“ настроен на „ИЗКЛЮЧЕНО“ . Така че, ако идентификаторът присъства в оператора INSERT, ще получите грешката „Не може да се вмъкне изрична стойност за колона за идентичност в таблица„ човек “, когато IDENTITY_INSERT е зададено на OFF“.

Изпълнете следния код в раздела за заявка.

изключване на identity_insert лице; вмъкване в стойности на лице (ID, собствено име, фамилно име) (3, 'Sadia