MySQL で直近に生成された AUTO INCREMENT の値を取得する
最も最近に実行された INSERT 文の結果として AUTO_INCREMENT カラムに正常にインサートされた、自動的に生成された 最初 の値を戻します。
例文では、
mysql> SELECT LAST_INSERT_ID(); -> 195
というのが掲載されている。この例文では、テーブルの指定がなされていない。
例えば、テーブルを指定した場合は
mysql> SELECT LAST_INSERT_ID() FROM `test_table`; -> 0 -> 0 -> 0
というように、現在テーブルに登録されている最大の AUTO_INCREMENT 値分の行数が返されるようだ。
そのため、テーブルを指定して LAST_INSERT_ID() を使用した場合は、返される行数を数える必要がある。
注 : 上記の動作の違いは未確認
確認後、更新を行う。
確認後の動作
最新の AUTO_INCREMENT 値を取得したいテーブルを指定しないと、正しく値を取得できないようだ。
また、PHP のみでの動作確認だが、値が直接返されるのではなく、値分の行数が返された。