2017-02-17 58 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