0

大家好,我想更新两个表中的列。

例如: abcxyz。该表包含名为, , ,的abc字段。该表包含,和。现在我想要的是通过使用单个查询来更新列状态和列。idfnamelastnamestatusxyzidx_idstatusabcstatusxyz

我尝试了这个查询,但它不起作用。

UPDATE abc a1 
JOIN xyz x1 ON a1.id = x1.x_id 
SET a1.status = "D" , 
    x1.status = "delete" 
WHERE a1.id = 15 AND x1.x_id = 15;  

谢谢。

4

2 回答 2

0

如果您的 mysql 服务器无法使用 SQL 在单个查询中更新两个表。您可以使用 LOCK TABLES 命令来避免竞争条件:

LOCK TABLES abc WRITE, xyz WRITE;
update abc set status = "D"  where id = 15;
update xyz set status = "delete"  where x_id = 15;
UNLOCK TABLES;

问候, 奥马尔

于 2013-02-15T08:03:59.577 回答
0

为 3 个表编辑:

UPDATE a1,x1,s1 
SET a1.status = "D" , 
x1.status = "delte",
s1.status = "D" 
WHERE a1.id = x1.x_id
AND a1.id = s1.s_id 
AND a1.id = 15;
于 2013-02-15T07:59:01.987 回答