Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Все привет.
Необходимо копировать данные одной таблицы в другую таблицу (такой же структуры) и чтобы при этом работал ON DUPLICATE KEY UPDATE ...
Такая конструкция к сожалению работать не хочет:
INSERT INTO table_dsk (field1,field2,...fieldn) SELECT field1,field2,...fieldn FROM table_mem ON DUPLICATE KEY UPDATE fieldX = fieldX + VALUES (fieldX)
в результате получаю: #1052 - Column 'fieldX' in field list is ambiguous
Приходится в приложении читать всю таблицу table_mem и составлять большущий запрос вида:
INSERT INTO table_dsk(field1, ...,fieldn) VALUES(1,3,5,10),(20,15,35,40),.... ON DUPLICATE KEY UPDATE field1=field1+VALUES(field1), ...., fieldn=fieldn+VALUES(fieldn)
такой способ работает, но мне не нравится ...
Есть ли какая-либо возможность заставить работать первый вариант?
Всем заранее спасибо.
Неактивен
MySQL не знает к какой таблице относится колонка fieldX. Пишите полное имя с указанием таблицы.
Вместо fieldX нужно table_mem.fieldX
Неактивен
Все заработало.
vasya, спасибо.
Неактивен
Страниц: 1