Mysqli在同一个表上递归删除

时间:2017-11-12 13:40:45

标签: php mysql mysqli

我有这样的表评论系统。 Table Design Image

如果某人删除了该评论,那么与该comment_parent关联的所有行也将被删除

我可以编写php递归函数,选择行并删除它。

问题是如果评论的comment_parent超过100,那么将运行超过100个查询来删除它。

是否可以仅使用sql查询删除评论及其comment_parentid,如果有人可以提供帮助,我会很高兴,我会搜索并找到CTE(但我认为它并不支持mysqli)。

1 个答案:

答案 0 :(得分:0)

如果您为ON DELETE CASCADE列设置foreign key comment_parentid,则删除父项将自动删除子项(及其子项及其子项等)。