Как исправить ошибку «Невозможно вставить явное значение для столбца идентификаторов в таблицу, когда для IDENTITY_INSERT установлено значение OFF»?



Попробуйте наш инструмент устранения неполадок

Столбец первичного ключа часто устанавливается на автоматическое увеличение при построении базы данных SQL Server. Для этого устанавливается ограничение IDENTITY для столбца первичного ключа. Начальная позиция и шаг приращения передаются в столбец IDENTITY в качестве параметров. Затем всякий раз, когда добавляется новая запись и для вставки идентификатора установлено значение OFF, значение столбца IDENTITY увеличивается на заранее определенный шаг, обычно это число. Более того, для свойства IDENTITY INSERT установлено значение ON только для одной таблицы в одном сеансе.



В этой статье мы обсудим ошибку «Невозможно вставить явное значение для столбца идентификаторов в таблице.

когда для IDENTITY_INSERT установлено значение OFF » как показано ниже.



Отключение «IDENTITY INSERT OFF» и вставка данных без «PRIMARY KEY ID» в оператор вставки



Ошибка возникает, когда пользователь установил «identity_insert» в «OFF». Затем пытается явно вставить данные в столбец первичного ключа таблицы. Это можно пояснить на примере ниже.

Создание базы данных и таблиц:

Сначала создайте базу данных с именем «appuals».

Создание базы данных с именем «appuals».



Создайте таблицу с именем «человек», используя следующий код. Построенная таблица с использованием «ОСНОВНАЯ КЛЮЧЕВАЯ ИДЕНТИЧНОСТЬ»

СОЗДАТЬ ТАБЛИЦУ человека (ID INT IDENTITY (1, 1), first_name VARCHAR (MAX), last_name VARCHAR (MAX))

Создание таблицы с именем «человек»

Синтаксис для установки «identity_insert off | на':

В «Выключить identity_insert | на' поможет нам устранить эту ошибку. Правильный синтаксис этого оператора приведен ниже.

УСТАНОВИТЬ IDENTITY_INSERT. .
НА

Тогда как первый аргумент - это имя базы данных, в которой расположена таблица. Второй аргумент показывает схему, к которой принадлежит эта таблица, значение идентификатора которой должно быть установлено на НА или же ВЫКЛ. . Третий аргумент

- это таблица со столбцом идентификаторов.

Существует два основных способа безошибочной вставки данных в таблицу. Они считаются решением этой ошибки и обсуждаются ниже.

Ошибка 1: установите identity_insert в OFF

В первом случае мы вставим данные в таблицу с «ВСТАВКА ИДЕНТИЧНОСТИ» установлен в «ВЫКЛ.» . Итак, если идентификатор присутствует в инструкции INSERT, вы получите сообщение об ошибке «Невозможно вставить явное значение для столбца идентификаторов в таблицу« person », когда для IDENTITY_INSERT установлено значение OFF».

Выполните следующий код на вкладке запроса.

выключить identity_insert человека; вставить в значения person (ID, first_name, last_name) (3, 'Sadia