我使用以下查询在表
中插入值INSERT INTO `tbl1` SELECT * FROM tbl2
在这里,tb1是临时表。
现在,我想要这样的东西
UPDATE `my_table` SELECT * FROM tbl1
我知道更新的语法是Update tbl SET cols = vals 但是我们可以使用上面的插入查询吗?
感谢。
答案 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