IDENTITY_INSERT SQL-скрипт

Ситуация

У меня есть сценарий SQL, который мне нужен для передачи некоторых основных данных в мою базу данных. Поэтому я использую следующий скрипт (и другие). Я хочу вручную предоставить первичный ключ для строк, которые я создаю вручную.

Проблема

Если я выполню скрипт, он скажет, что мне нужно включить IDENTITY_INSERT. Я добавил эту строку SET IDENTITY_INSERT UserGroups ON;, как это используется во многих примерах, но при добавлении она все равно будет выдавать ту же ошибку.

SET IDENTITY_INSERT UserGroups ON;  
GO 

INSERT INTO UserGroups VALUES (0, 0);

Ошибка при запуске скрипта:

Явное значение для столбца идентификаторов в таблице UserGroups можно указать только в том случае, если используется список столбцов и параметр IDENTITY_INSERT включен.

Вопрос

Нужно ли мне что-то менять в моей базе данных или есть что-то еще, что я забыл в скрипте, чтобы вручную добавить первичный ключ?

Подробнее

Я использую SQL Server 2016 Management Studio.

Я использую DDL Script для SQL-скриптов

Я работаю с Entity Framework.

У меня есть два столбца в этой таблице

  1. Первичный ключ: идентификатор
  2. интервал: GroupHeadId

person Timon Post    schedule 17.05.2017    source источник


Ответы (2)


Как указано в ошибке, вам нужен список столбцов.

INSERT INTO UserGroups (Id, GroupHeadId)
VALUES (0,0)
person Jacob H    schedule 17.05.2017

Сообщение об ошибке сообщает вам о проблеме.

Явное значение для столбца идентификаторов в таблице UserGroups можно указать, только если используется список столбцов и параметр IDENTITY_INSERT включен.

Вы не используете список столбцов. Укажите столбцы.

person Daniel Mann    schedule 17.05.2017
comment
Оба являются хорошими ответами, я решил принять другой, потому что это был код, который я мог вставить и который работал напрямую. Если бы я мог, я бы тоже принял это :}. - person Timon Post; 17.05.2017