Как я могу решить "Явное значение для столбца идентификации в таблице"? - PullRequest
0 голосов
/ 18 июня 2010

если я пытаюсь добавить некоторые данные в мою таблицу, возникает ошибка:

Ошибка: сообщение 8101, уровень 16, состояние 1, строка 1 Явное значение для столбца идентификаторов в таблице «ENG_PREP» можно указывать только в том случае, если используется список столбцов, а параметр IDENTITY_INSERT включен.

insert into ENG_PREP VALUES('572012-01-1,572012-01-2,572012-01-3,572013-01-1,572013-01-2',
'',
'500',
'',
'A320 P.001-A',
'Removal of the LH Wing Safety Rope',
'',
'',
'',
'0',
'',
'AF',
'12-00-00-081-001',
'',
'',
'',
'',
'',
'',
'' )

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Если вам необходимо записать в столбец идентификаторов, используйте

SET IDENTITY_INSERT YourTableName ON

, как подсказывает сообщение об ошибке.

В противном случае не пытайтесь записывать в столбец идентификаторов.

0 голосов
/ 18 июня 2010

Ваше утверждение

insert into ENG_PREP

попытается вставить значения во все столбцы вашей таблицы, включая столбец IDENTITY, в который вы никогда не должны вставлять определенное значение.

Что вынужно указать, в какие столбцы таблицы вы действительно хотите вставить значения, и пропустить столбец IDENTITY, который будет автоматически обрабатываться самим SQL Server:

 INSERT INTO dbo.ENG_PREP(column1, column2, ...., columnX)
 VALUES(values1, values2, ...., valuesX)

Вам нужно только указатьте столбцы, для которых вы действительно хотите установить значение (например, вы можете пропустить большинство тех столбцов, в которые вы просто вставляете '' в вашем примере).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...