MySQL と同等の事前接続による接続
MySQL では、階層テーブルからデータを抽出するために「CONNECT BY PRIOR」句が使用されます。この句は、データ内の親子関係を扱う場合に特に有益です。ただし、MySQL は本質的に「CONNECT BY PRIOR」に相当するものをサポートしていません。
子ノード取得の代替ソリューション
指定された親 ID ですべての子ノードを取得するにはMySQL では、反復アプローチを採用できます。
例クエリ
このアプローチを実証するために、次のクエリを検討します。
SELECT * FROM tb_Tree WHERE ParentId = 1;
このクエリは、「ParentId」フィールドが 1 に等しいすべての行を取得し、その子を表します。 「フルーツ」ノード。取得した「Id」値を使用して、ネストされた子ノードを再帰的に取得できます。
代替手法
階層の深さがわかっている場合は、別のアプローチを使用できます。複数の左外部結合を使用して、最大の深さに達するまでテーブルをそれ自体に結合します。あるいは、ツリー表現をネストされたセットに変換すると、MySQL の階層クエリを簡素化できます。
以上がMySQL に CONNECT BY PRIOR 機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。