我可以执行以下操作,将记录从另一个表中的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个字段来执行此操作,但有多种方法可以使用多个字段吗?
答案 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)