在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;
你试过了吗,兄弟?给出了别名。 – Vikrant
似乎不起作用 –
@ FrancescoG。,请确保您使用每个表的“别名”,并将相应的列名称作为; ** tab1.a **,** tab2.b **,** tab3.c ** – Vikrant