在 mysql 的单个查询中更新多个表
Update multiple tables in a single query in 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;
更新:
根据 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;
我有三个查询,我想要一个。这些是我的查询:
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;
更新:
根据 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;