直前に採番されたAI(Auto Increment)値を取得するSQL
文書番号:20725
MySQL では列の定義を AI(Auto Increment)に設定することで一意な番号を採番することができます。
直前に採番された AI 値を取得したいときは以下のSQLで取得できます。
【SQL】
SELECT last_insert_id() FROM TableName;
【サンプル】
INSERT でデータ追加をした後、SELECT すると直前に採番されたデータを取得できます。
同時に複数のクライアントからINSERT があった場合でも同じクライアントからのアクセスの中で直近の値を取得できます。
同時に複数のクライアントからINSERT があった場合でも同じクライアントからのアクセスの中で直近の値を取得できます。
INSERT INTO TableA ~;
SELECT last_insert_id() FROM TableA;
【PHPの場合】
PHP の場合は MySQL の関数を使用して以下の方法で取得することもできます。
//INSERTを実行
$SQL = 'insert into table_name ...';
$result = mysql_query($SQL);
//採番したIDを取得
$last_id = mysql_insert_id();