Как скопировать только одну строку и вставить ее в эту таблицу - PullRequest
0 голосов
/ 09 января 2020

У меня есть таблица table_A , в ней десять строк, id_Row таблицы от 1 до 10. И я установил id_Row is "Identity Increment = true "Обязаться. Но теперь я хочу скопировать 7-ю строку => table_A будет иметь 11 строк (и вставить в эту table_A ). Я написал:

INSERT INTO table_A SELECT * FROM  table_A WHERE id_Row = '7'

Но я получил ошибку:

An explicit value for the identity column in table 'table_A' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Может кто-нибудь, пожалуйста, дайте мне знать, как это исправить?

1 Ответ

0 голосов
/ 09 января 2020

У вас есть два варианта:

1: перед вставкой используйте этот скрипт (если id_Row = '7' не существует в table_A):

SET IDENTITY_INSERT table_A  On

INSERT INTO table_A
SELECT * FROM  table_A WHERE id_Row = '7'

SET IDENTITY_INSERT table_A  Off

2: если id_Row = '7' существует в table_A, явно использовать список столбцов

 INSERT INTO table_A 
 SELECT x,y,z,... FROM  table_A WHERE id_Row = '7'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...