2017-02-17 12 views
2

Я ищу что-то similar-MYSQL Массовая вставка, если не существует обновление, если существует

insert into table1(a, b, c) 
select col1 as d, col2 as e, col3 as f from table2 
on duplicate key update b = e, c = f; 

Примечание - Здесь table1.a является уникальный ключ.

Я получаю ошибку- Неизвестная колонка name 'e'.

Есть ли какое-нибудь решение использовать «В дубликате ключ» с инструкцией «Вставить в выбор»?

Спасибо!

ответ

2

Замешательство, вызванное использованием псевдонима

insert into table1(a, b, c) 
select col1 as d, col2 as e, col3 as f from table2 
on duplicate key update b = table2.col2, c = table2.col3; 
+0

же ошибка .... Неизвестное имя столбца «е» – Abhi

+0

Да я попробовал и ... Его не работает. И я хочу обновить данные таблицы 2 в таблице1, поэтому значение (а) и значение (б) не будут работать. – Abhi

+0

Да .. Я тоже пробовал ... Не работает. его показывая ту же ошибку – Abhi