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";
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";
間違った構文。ここで修正されます:
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";
これを試して:
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であると想定されていました。