从具有多个字段的select更新?

时间:2011-07-22 20:59:02

标签: mysql select

我可以执行以下操作,将记录从另一个表中的select中插入表中:

INSERT INTO table (field1, field2) SELECT field1,field2 FROM table2

我可以对更新进行同样的操作吗? 像这样的东西(不工作!):<​​/ p>

UPDATE table SET field1=table2.field1, field2=table2.field2 SELECT field1,field2 FROM table2
WHERE table.field0=table2.field0

我知道如何只使用1个字段来执行此操作,但有多种方法可以使用多个字段吗?

2 个答案:

答案 0 :(得分:11)

UPDATE table A INNER JOIN table2 B USING (field0)
SET A.field1 = B.field1,A.field2 = B.field2;

答案 1 :(得分:-1)

是的,就像这样:

UPDATE table SET 
field1=(select field1 from table2 WHERE field0=table1.field0)
field2=(select field2 from table2 WHERE field0=table1.field0)
-- WHERE some condition (optional)