呼び出されるたびに、MySQL データベースに数行を挿入する PHP メソッドがあるとします。残念ながら、これらのレコードは階層を表しているため、各レベルにキーを追加してこの階層を維持したいと考えています。例は次のようになります。
id hier_key_1 hier_key_2 value
0 0 0 val1
1 0 0 val2
2 1 0 val3
3 1 0 val4
4 2 1 val5
5 2 1 val6
私の現在のソリューションは次のように機能します。
- hier_key_1 テーブルに新しいレコードを挿入する
- このレコードの自動インクリメント ID を選択
- hier_key_2 テーブルに新しいレコードを挿入する
- このレコードの自動インクリメント ID を選択
- すべての値とhier_key_1およびhier_key_2をテーブルを指す外部キーとしてテーブルにレコードを挿入します
これを単純化する方法はありますか?つまり、insert メソッドは、挿入されたデータのキーを含む何らかの種類の戻り値を提供しますか? または、PHP メソッドで一意のキーを生成し、後で重複をチェックする必要がありますか?