2017-02-17 108 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; 

注意:如果不存在更新。

我收到錯誤 - 未知的列名'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

同樣的錯誤....未知列名「E」 – Abhi

+0

是的,我曾經嘗試都...它不工作。我想將表2數據更新到table1中,所以value(a)和value(b)將不起作用。 – Abhi

+0

是的..我也試過,以及...不工作。它顯示相同的錯誤 – Abhi