質問: 初歩的なことをお聞きして申し訳ありません。 2つのテーブルがあります。一つはアイテムテーブル、もう一つはパーツテーブルです。 アイテムデータを登録するアイテム画面の入力項目にタイプがありtypeが”abcde”の時にだけパーツテーブルとアイテムテーブルに登録し、それ以外の値の時はアイテムのみするのですが、 この2つのテーブルはお互いの主キーを持っています。 一回のsqlでアイテムテーブル、パーツテーブルに登録して登録した結果のidをそれぞれのテーブルのpart_idとitem_idに登録することはできますでしょうか? 今、実装しているのはアイテムテーブルをまず登録して、登録してできたデータのidを取得し、パーツテーブルのデータにitem_idをセットし、パーツデータの登録し、その結果できたデータのidを取得し、 最後にアイテムテーブルのpart_idを更新するような処理を考えているのですが、1回のsqlでこれを実現することは可能でしょうか? ・アイテムテーブル Field | Type | Null | Key | Default | Extra | | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | name | varchar(255) | YES | | NULL | | | price | int(11) | YES | | NULL | | | part_id | int(10) unsigned | YES | | NULL | | | type | varchar(255) | YES | | NULL | | ・パーツテーブル Field | Type | Null | Key | Default | Extra | | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | item_id | int(10) unsigned | NO | | NULL | | | name | varchar(255) | NO | | NULL | | | number | varchar(255) | YES | | NULL | |
回答: コメントより > > 使用しているエンティティバインディングフレームワークの仕様の為結合しているモデルがそれぞれのキーを持っている仕組みでしたので、このような変な質問をさせていただきました。 > > > 実際はSQLではなくjsでの実装となりまして、アイテムテーブルの登録で取得したアイテムキーをパーツに設定して登録し、できたパーツキーを再度アイテムに更新という実装で解決いたしました。ご親切なご回答ありがとうございました。 - 通りすがりのおっさん > > >