大家好,我想更新两个表中的列。
例如:abc
和xyz
。 abc
表包含名为id
,fname
,lastname
,status
的字段。表xyz
包含id
,x_id
和status
。现在我想要的是使用单个查询从abc
status
和xyz
列更新列状态。
我尝试此查询,但它无效。
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;
感谢。
答案 0 :(得分: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;
答案 1 :(得分: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;
此致 奥马