从mysql中的select查询更新

时间:2012-05-21 06:47:12

标签: mysql sql

我使用以下查询在表

中插入值
INSERT INTO `tbl1` SELECT * FROM tbl2

在这里,tb1是临时表。

现在,我想要这样的东西

UPDATE `my_table` SELECT * FROM tbl1

我知道更新的语法是Update tbl SET cols = vals 但是我们可以使用上面的插入查询吗?

感谢。

3 个答案:

答案 0 :(得分:4)

您可以Insert with Select但不能Update with Select。但仍然可以在UPDATE中使用JOIN。

UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id
SET t1.col1 = t2.col2, t1.col2 = t2.col2

答案 1 :(得分:3)

您可以使用多表tbl1语法将my_table表加入UPDATE

UPDATE my_table JOIN tbl1 ON ***join_condition***
  SET my_table.foo = tbl1.bar, ...

答案 2 :(得分:1)

您可以这样做:

update my_table join tbl1 on my_table.id = tbl1.id
set my_table.Vaal= tbl1.vaal