Проблема вставки идентификатора - PullRequest
2 голосов
/ 06 июля 2011

Я пытаюсь запустить этот скрипт:

SET IDENTITY_INSERT dbo.Message ON
INSERT INTO dbo.Message
SELECT (Values I want to insert)

и когда я все еще получаю ошибку * Явное значение для столбца идентификаторов в таблице 'dbo.Message' может быть указано только в том случае, если используется список столбцов и IDENTITY_INSERT установлен в положение ON. *

Что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 06 июля 2011

Ключ к вашей ошибке - «когда используется список столбцов».Вы хотите:

SET IDENTITY_INSERT dbo.Message ON
INSERT INTO dbo.Message (column1, column2, ...) -- Added column list here
SELECT (Values I want to insert)
2 голосов
/ 06 июля 2011

Вы должны сделать так, как написано в сообщении об ошибке.Отформатируйте код следующим образом:

INSERT INTO dbo.Message
(col1, col2, col3, col4)
SELECT Col1, col2, col3, col4
FROM OtherTable

Вам нужен список полей после строки INSERT, и вам нужно указать имена полей в вашем SELECT - SELECT * не будет работать.

0 голосов
/ 06 июля 2011

Вы должны упомянуть все столбцы Name как в операторе вставки, так и в предложении выбора. Нечто подобное.

Вставить в таблицу ( [Col1], [Col2] ) ВЫБРАТЬ [Col1], [Col2]

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