在mysql中的单个查询中更新多个表

时间:2016-08-25 08:05:10

标签: mysql sql-update multiple-tables

我有三个查询,我想有一个查询。这些是我的疑问:

UPDATE tab1 SET a='' WHERE id=3;
UPDATE tab2 SET b='' WHERE id=9;
UPDATE tab3 SET c='' WHERE id=5;

1 个答案:

答案 0 :(得分:3)

您可以尝试以下代码:

UPDATE tab1, tab2, tab3
SET tab1.a = '', tab2.b = '',tab3.c = ''
WHERE tab1.id = 3 AND tab2.id = 9 AND tab3.id = 5;

更新:

如OP所述,代码不适用于 Mysql 5.5 ,代码添加

UPDATE tab1 a 
  INNER JOIN tab2 b ON (a.id = b.id)
  INNER JOIN tab3 c ON (a.id = c.id)
SET tab1.a = '', tab2.b = '', tab3.c = ''
WHERE a.id = 3 AND tab2.id = 9 AND tab3.id = 5;
相关问题