• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLでinsertした行を取得する)

MySQLでinsertした行を取得する方法

このQ&Aのポイント
  • MySQLのテーブルに新しい行をinsertした場合に、その行のidを取得する方法はありますか?
  • phpのmanualを参考にしたところ、そのような方法は記載されていないようですが、頻繁に必要な場合もあるかもしれません。
  • 既に考えた案としては、auto incrementを外して最大のidの1つ上を指定してinsertする、または一度lockしてからinsertして最大のidを取得する方法があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • taskuni
  • ベストアンサー率71% (49/69)
回答No.2

できますよ。ひとつのスマートな関数があります。 mysql_insert_id() auto incrementで生成されたIDを得ることが出来ます。

参考URL:
http://php.s3.to/man/function.mysql-insert-id.html

その他の回答 (1)

回答No.1

MySqlにPostgresのnextvalが無いのが残念なことですね。 一応、last_insert_id(最後に挿入された値を取得する)がありますが対象(シーケンス名など)を指定できませんので、INSERTオプションのLOW_PRIORITYやDELAYEDを上手く利用された方が拡張・再利用等に便利のように思えます。

関連するQ&A