id name parentid
1 category 0
2 question1 1
3 type1 2
4 type2 2
5 question2 0
6 type2 5
7 type2 5其中:
parent
)
我想要写一条MySQL语句来删除带有所有子记录的所选父级。我怎么能这么做?
发布于 2012-05-21 08:57:16
MySQL不支持递归查询..。
如果你有一个预定的深度,你可以做几个连接。
否则,您将需要在应用程序中的代码中执行此操作,或者编写存储的Proc/函数来完成此操作。
编辑:快速递归函数删除.
function recursiveDelete($id) {
$result=mysql_query("SELECT * FROM yourTable WHERE parentid='$id'");
if (mysql_num_rows($result)>0) {
while($current=mysql_fetch_array($result)) {
recursiveDelete($current['id']);
}
}
mysql_query("DELETE FROM yourTable WHERE id='$id'");
}发布于 2013-02-01 10:10:19
https://stackoverflow.com/questions/10682096
复制相似问题