直近のクエリで発行されたAUTO_INCREMENTの値を取得する
やりたかったことは、
新規登録(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でグループ化したものを条件で絞る(HAVING)
正規化したテーブルがあってその中には idとtagのカラムがある。 でtagの方 ...
-
-
MySQLで大文字小文字
半角英数字のみのフォームで入力した値を検索した際、 データに差異が発生。 [Aa ...
-
-
MySQLで同一サーバーの異なるDB内のテーブルをJOINする
同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...
-
-
異なるVPS間でMySQLの接続を行う
異なるVPS間でMySQL接続を行った際のメモ。 さくらVPS(IP:111.1 ...
-
-
PHPからMySQLデータを取得した際に一括で配列に入れる方法
MySQLからデータを取得して、PHP側で配列に入れる際に今まで一個ずつ書いてい ...
-
-
エックスサーバーでMySQLのサイズに注意
エックスサーバーで自動更新のログをMySQLに保存するようなシステムを動かしてい ...
-
-
MySQLでtime型データの減算と条件検索
MySQLでtime型データからint型データの減算を行い、減算後のデータを検索 ...
-
-
SQLで同じ値を複数のレコードに対してUPDATE
やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...
-
-
MySQLiでDELETE文
MySQLiでDELETE文 ■ソース $mysqli = new mysqli ...
-
-
MySQLの値について
既存プログラムの解析をしてて知ったこと。 MySQLの構造で「int(11)」と ...
- PREV
- シルバーライトとは
- NEXT
- 画像拡張子の違いについて