找到孤儿
SELECT id FROM 表 where pid not in (select id from 表)
后删除对应的记录
需要在循环中进行,因为每次删除就可能有新的孤儿产生
大致这样:
do {
$rs = mysql_query('SELECT group_concat(id) FROM 表 where pid not in(select id from 表)');
list($g) = mysql_fetch_row($rs);
mysql_query("delete from 表 where id in (g)");
}where(mysql_affected_rows());