MySQLで複数INSERTされたIDを取得できないでしょうか? 次のように複数INSERTするとします。
MySQLで複数INSERTされたIDを取得できないでしょうか? 次のように複数INSERTするとします。 この teachers テーブルには、name, age 以外に、AUTO INCREMENT な 主キーID カラムがあるとすると、そのINSERT結果のIDを取得したいのです。 INSERT INTO teachers (name, age) VALUES (‘ヒロシ’, 25), (‘ユウタ’, 27); バックエンドの使用言語はPHPとMySQLのみですが、もしかしてPHPでの foreach しかないでしょうか? もしMySQLだけで可能な記述があればご教示頂けましたら幸いです。 宜しくお願い致します。
ベストアンサー
https://dev.mysql.com/doc/refman/5.6/ja/innodb-auto-increment-configurable.html innoDB で自動インクリメントロックが働くなら、LAST_INSERT_ID は挿入した最初のレコードの番号を返し、それ以降は「連番」になっています。 ただ、個人的には一行挿入のSQL文をprepareしておいて、渡す値を変えながらexecuteする方が(途中でエラーになったりしても)確実な処理がやりやすいと思いますけどねぇ・・・
質問者からのお礼コメント
ありがとうございます。考えなおす良い機会を頂きました。
お礼日時:7/2 14:48