MySQL Копирование данных таблицы при обновлении дубликата ключа с помощью INSERT ... "идентификатор поля неоднозначен?" - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь скопировать содержимое из одной таблицы в другую, обе таблицы имеют одинаковую структуру.

INSERT INTO master SELECT * FROM slave
  ON DUPLICATE KEY UPDATE id=id+1

Это дает ошибку: #1052 - Column 'id' in field list is ambiguous

Похоже, простая проблема, но я не могу ее решить. Кто-нибудь знает, как это исправить?

1 Ответ

1 голос
/ 13 марта 2012

То, что он говорит, является точной проблемой: Column 'id' in field list is ambiguous. Вы должны указать, какой id столбец вы имеете в виду - master или slave. Вы указываете столбец master id, помещая точку между именем таблицы и именем поля, master.id:

INSERT INTO master SELECT * FROM slave
  ON DUPLICATE KEY UPDATE master.id = master.id + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...