勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

直近のクエリで発行されたAUTO_INCREMENTの値を取得する

   2014/07/03  MySQL

やりたかったことは、

新規登録(INSERT)なら、登録時のAUTO_INCREMENTの値の番号を画像名に入れ、

編集(UPDATE)なら既存の番号を画像名に入れる

ということ。

既存の番号は編集ボタンなんかを押した時にhiddenでseqの

値を渡せばいいが、新規登録時にMAX(seq)とかで調べた際、

もし削除とかが行われていた場合、MAX(seq)とオートインクリメントの

値が異なってしまう。

そういう場合はmysql_insert_id()を用いる。

■参考

http://php.plus-server.net/function.mysql-insert-id.html

if ($mode == 'insert') { //INSERTの場合
$sql = '
INSERT INTO table_a
(aaa, bbb)
VALUES
$aaa, $bbb;
';
$row = mysql_query($sql);
$max_seq = mysql_insert_id(); //ここで取得できる
} else if ($mode == 'update') { //UPDATEの場合
$max_seq = $seq; //hiddenとかで$seqを渡しておく
}

 - MySQL

  関連記事

MySQLでテーブル構造とデータをコピーする方法

MySQLで既にあるテーブルとデータに対して実験を行う必要があった。本番テーブル ...

adminerでMySQLに接続しようとするとエラーになる場合の対応方法

新しく構築したサーバにadminerを入れて接続しようとすると、「mysqlnd ...

mysqldumpが使えないレンタルサーバでMySQLのバックアップ

mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...

MySQLで特定カラムの
タグを改行コードに一括置換させる方法

MySQLで特定カラムの<br>タグを改行コードに一括置換したかった ...

MySQLのintのカラムで2147483647の値

MySQLでintのカラムに数値を入れると「2147483647」という値になっ ...