我有 3 个表,像这样:
release (release_id, name, ...)
medium (medium_id, release_id, name, ...)
track (track_id, medium_id, title, ...)
只有 release_id,我希望能够使用一个查询一次性删除与该 release_id 关联的轨道和媒体。
这可能吗?如果是的话,能不能给我一个大概的模板,剩下的我自己想办法。
我需要多个删除查询吗?
最佳答案
严格来说,是的,您需要三个单独的删除语句。
但是,如果您总是希望在从“release”表中删除一行时从其他两个表中删除关联的行,则可以在“release”表上使用外键和 ON DELETE CASCADE 约束。
关于mysql - 如何在一个查询中从多个表中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29457315/