新規挿入したデータの auto_increment 値を取得

Posted by muchag | MySQL,PHP | 2008-01-30 (水) 22:53:25

PHP から MySQL へデータを新規挿入する場合、
ID フィールドに auto_increment の設定をしていると、
新規レコードの ID 値を即座に取得したいことがある。

このときの方法として、
PHP の関数

mysql_insert_id()

を利用する方法と

MySQL の関数

LAST_INSERT_ID()

を利用する方法があるようだ。

このうち mysql_insert_id の方は、
MySQL のフィールド型(BIGINT)に対応していないそうで <- 参考:PHP マニュアル 日本語版
今回は、LAST_INSERT_ID() の方を採用した。

具体的には

  1. $mySQL = "SELECT LAST_INSERT_ID()";
  2. $myRS = mysql_query($mySQL);
  3. $myRow = mysql_fetch_row($myRS);
  4. $myLastID = $myRow[0];

で取得できた。
ちなみに3行目は

  1. $myRow = mysql_fetch_array($myRS);

でも上手くいった。

よい参考サイトが見つからなくて、大変だった~><
こんな簡単なこともわからない自分に呆れます・・・

MySQL,PHP | 2008-01-30 (水) 22:53:25 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment