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

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

问题描述:

我有三个查询,我想要一个。这是我的查询:在mysql中的单个查询中更新多个表

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

你可以试试下面的代码:

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

UPDATE:

按照由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; 
+0

你试过了吗,兄弟?给出了别名。 – Vikrant

+0

似乎不起作用 –

+0

@ FrancescoG。,请确保您使用每个表的“别名”,并将相应的列名称作为; ** tab1.a **,** tab2.b **,** tab3.c ** – Vikrant