一部のブランドのデータベース(Oracle、Microsoft SQL Serverなど)は、「再帰クエリ」を実行するための追加のSQL構文をサポートしていますが、MySQLはそのようなソリューションをサポートしていません。
説明している問題は、SQLデータベースでツリー構造を表すのと同じです。長くて細い木があります。
この種のデータ構造をRDBMSから保存およびフェッチするには、いくつかのソリューションがあります。次の質問のいくつかを参照してください:
クエリによって返される「深さ」を制限したいということなので、次の方法でリストをクエリするときにこれを実現できます。
SELECT * FROM mytable t1
LEFT JOIN mytable t2 ON (t1.next_id = t2.id)
LEFT JOIN mytable t3 ON (t2.next_id = t3.id)
LEFT JOIN mytable t4 ON (t3.next_id = t4.id)
LEFT JOIN mytable t5 ON (t4.next_id = t5.id)
LEFT JOIN mytable t6 ON (t5.next_id = t6.id)
LEFT JOIN mytable t7 ON (t6.next_id = t7.id)
LEFT JOIN mytable t8 ON (t7.next_id = t8.id)
LEFT JOIN mytable t9 ON (t8.next_id = t9.id)
LEFT JOIN mytable t10 ON (t9.next_id = t10.id);
糖蜜のように機能し、結果はすべて1行に戻ります(リンクリストごと)が、結果は得られます。