勉強したことのメモ

webプログラマが勉強したことのメモ。

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

      2014/07/03

やりたかったことは、

新規登録(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でLIKE検索時に大文字・小文字・半角・全角全て区別したい

以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別 ...

MySQLで特定カラムのbrタグを改行コードに一括置換

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

MySQLでパターンマッチの逆

LIKE検索の逆ってなったのでメモ。 NOT LIKE '%あああ%' が正解み ...

MySQLで実行結果の行数取得

DBにデータがあるか調べる際にしばしば使用してたのでメモ。 $sql = " S ...

MySQLでユーザー作成時にエラーが発生

SSHからrootアカウントでMySQLにログインし、ユーザーを作成しようとする ...

MySQLでIPアドレスを数値として入れると変になる

MySQLでIPアドレスをINET_ATON関数を用いてINT型に変換し格納する ...

MySQLでホスト指定しても正常に接続できない場合

MySQL自体は動いており、ユーザーも登録されているのに、ホスト名を指定しても正 ...

MySQLで月別に集計を行う。あと日付時刻関数。

現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...

MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)

あるシステムでMySQLの検索時に「WHERE test_column coll ...

文字コードのutf8_general_ciとutf8_unicode_ciの違い

MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...