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

あなたはテーブル1を更新すると言っていましたが、p.statusはテーブル2です。または、タイプミスがあり、t.statusであると想定されていました。

于 2012-10-12T20:09:24.497 に答える