mysql - 查询出了什么问题?

标签 mysql sql sql-delete cascade cascading-deletes

查询有什么问题?

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 执行此查询。错误未知。

另一个问题也对我有帮助:如果我没有索引,如何级联删除行?

最佳答案

您应该在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'

关于mysql - 查询出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11668822/

相关文章:

Mysql:如何选择给定某个其他列值的两个列值的组合唯一的行

java - 如何在 JPA 中持久保存 List<Object> 类型的属性?

sql - SSIS 错误 : The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020

c# - 删除 'int value' 中的未知列 'where clause'

sql - PL/SQL - 在 FOR IN LOOP 中删除当前记录

mysql根据select语句从同一个表中删除

php - 我如何在 Joomla 2.5 virutemart 上显示购物车中的商品数量?

mysql - 如何选择每行都有分区名称的一堆行?

sql - SQL Server 中范围变量的范围

mysql - 从一对多mysql关系中选择有序且唯一的值