2

クエリの何が問題になっていますか?

delete from categories c
left join categories_products cp on cp.category_id = c.id
left join products p on p.id = cp.product_id
left join images i on i.object_id = cp.product_id
where c.id = 3 and i.site_section = 'products'

MySQLはエラーを返します。HeidiSQLを介してこのクエリを実行しようとしています。エラーは不明です。

別の質問も役立ちます。インデックスがない場合、行をカスケード削除するにはどうすればよいですか?

4

2 に答える 2

4

deleteキーワードの後に​​エイリアスを追加する必要があります

DELETE c FROM categories c
          LEFT JOIN categories_products cp 
                    on cp.category_id = c.id
          LEFT JOIN products p 
                    on p.id = cp.product_id
          LEFT JOIN images i on i.object_id = cp.product_id
WHERE c.id = 3 and i.site_section = 'products'
于 2012-07-26T12:08:58.623 に答える
1
delete c from categories c
left join categories_products cp on cp.category_id = c.id
left join products p on p.id = cp.product_id
left join images i on i.object_id = cp.product_id
where c.id = 3 and i.site_section = 'products'

参加するときは、削除するテーブルを指定する必要があります。だからですdelete c from ...

于 2012-07-26T12:02:01.820 に答える