2

我使用以下查询在表中插入值

INSERT INTO `tbl1` SELECT * FROM tbl2

这里的 tb1 是一个临时表。

现在,我想要这样的东西

UPDATE `my_table` SELECT * FROM tbl1

我知道更新的语法是 Update tbl SET cols = vals 但是我们可以有类似上面插入查询的东西吗?

谢谢。

4

3 回答 3

4

你可以做Insert with Select但不能Update with Select。但仍然可以通过在UPDATE.

UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id
SET t1.col1 = t2.col2, t1.col2 = t2.col2
于 2012-05-21T06:51:22.423 回答
3

您可以使用多表语法加入您的tbl1表:my_tableUPDATE

UPDATE my_table JOIN tbl1 ON ***join_condition***
  SET my_table.foo = tbl1.bar, ...
于 2012-05-21T06:50:00.310 回答
1

你可以这样做:

update my_table join tbl1 on my_table.id = tbl1.id
set my_table.Vaal= tbl1.vaal 
于 2012-05-21T06:54:02.913 回答