0

我正在尝试更新 table1 但它给了我错误

我有 3 个表加入。这是我的 sql

update `table1` 
set 
p.`status` = 0
from table1 t
left join
table2  p
on
p.id = t.id
join
table3 h
on
h.id =  p.id
WHERE p.`status`=1 AND h.id <>12";
4

2 回答 2

2

错误的语法。在这里更正一下:

update `table1` t
left join
table2  p
on
p.id = t.id
join
table3 h
on
h.id =  p.id
set p.`status` = 0
WHERE p.`status`=1 AND h.id <>12";
于 2012-10-12T20:01:04.130 回答
1

试试这个:

update `table2` p
left join `table1` t on
p.id = t.id join
table3 h on
h.id = p.id
set p.`status` = 0
WHERE p.`status`=1 AND h.id <>12

您说的是更新 table1,但 p.status 是 table2。或者你有一个错字,它应该是 t.status。

于 2012-10-12T20:09:24.497 回答