当我运行此查询时:

                DELETE
                    entreprise,
                    entreprise_detail,
                    entr_bail
                FROM entreprise
                LEFT JOIN entreprise_detail
                ON entreprise_detail.entr_id = entreprise.id
                LEFT JOIN entr_bail
                ON entr_bail.formalite_id = entreprise.formalite_id
                WHERE entreprise.formalite_id = :formalite_id


来自“ entreprise”和“ entreprise_detail”的2行将被删除,但是从entr_bail开始的行将永远不会被删除。

我检查了数据库以查看ID是否错误,但是一切正常,因此我开始问自己是否已经了解加入删除的工作原理。

这有什么问题吗?
非常感谢

最佳答案

这样行吗?

DELETE entreprise, entreprise_detail, entr_bail
FROM entreprise,  entreprise_detail, entr_bail
WHERE
 entreprise_detail.entr_id = entreprise.id AND
 entr_bail.formalite_id = entreprise.formalite_id AND
 entreprise.formalite_id = :formalite_id

10-07 13:28