自動インクリメントの外部キーで接続された 2 つのテーブルに複数の行を挿入しようとしています。良い解決策が見つからないようです。テーブル:
eav_attribute_option
- option_id (PK、オートインクリメント)
- attribute_id
- sort_order
eav_attribute_option_value
- value_id (PK、オートインクリメント)
- option_id (外部キー)
- store_id
- 価値
私はこれをしたい:
insert into eav_attribute_option(attribute_id) values(100,101,102,103,...);
insert into eav_attribute_option_value(option_id,store_id,value) values
(1,0,"English"),(1,1,"German"),(2,0,"English1"),(2,1,"German2")
これに対する最善のアプローチは何でしょうか。良いアプローチが見つからないようです。:
- 次の自動インクリメントを取得してから挿入します (間にテーブルをロックする必要があります)
- 最初の部分を挿入し、次に PK 値を取得し、2 番目の部分を作成して挿入します (しばらくデータが不完全でした。2 番目の部分でエラーが発生した場合はどうなりますか?)
- 可能であれば、結合して挿入する方法はありますか?
編集:明確にするために、可能な限り最小限のクエリを使用しようとしています。最後に挿入されたIDを実行できることはわかっていますが、何千もの挿入でサーバーを強制終了したくありません。