[MySQL][php] updateしたIDを知りたい場合はLAST_INSERT_ID()を使う
スポンサーリンク
phpのmysql_insert_id()は直近のクエリーによりAUTO_INCREMENTカラムで生成されたIDを取得する。で、updateを行った後にIDを知りたくてmysql_insert_id()を使ってみたが、IDは返って来なかった。当たり前か。
UPDATEで変更されたIDを知りたい場合、MySQL関数のLAST_INSERT_ID()を使う。
$sql = "UPDATE table_name SET column = 'new value' WHERE column = 'old value'"; $result = mysql_query( $sql ); echo mysql_insert_id();// -> 0 $sql = 'SELECT LAST_INSERT_ID() AS id FROM table_name'; $result = mysql_query( $sql ); $a = mysql_fetch_array( $result ); echo $a['id'];// -> 3
これでOK。
スポンサーリンク
MySQLカテゴリーの投稿
- [MySQL] 数値を範囲で区切って集計
- [MySQL] UNIONとJOINを組み合わせて使う
- [MySQL] UPDATEで時間を加算・減算する
- [MySQL] datetime型カラムを時間単位で集計する
- [MySQL] カラム内の指定した文字列を置換する
- PHP、MySQL、CRONが使える無料レンタルサーバー「000.webhost.com」
- [MySQL] 日時のデータをもとに日別のデータを集計する
- [MySQL] カラム内の文字列の一部を一括置換する
- MySQLバージョン4.x以前からエクスポートしたsqlファイルはTYPE = MyISAM を ENGINE = MyISAM に変更する
- さくらインターネットのMySQLを4.0.6から5.1にアップグレード