MySQLiで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回挿入したオートインクリメントの値を取得したかった。
前回分は以前からたまに使ってたので良いんだけど、次回挿入する値のところで、max(hoge) + 1みたいな形で取得を考えたけど、行の削除が発生すると+1にならないケースがある。なので以下で対応する。
//次回挿入する値を取得 $query = ' SHOW TABLE STATUS LIKE "table" '; $row = $mysqli->query($query); if( $row->num_rows == 0 ){ //行が見当たらない場合は1を入れる $count = 1; } else { while ($rs = $row->fetch_array(MYSQLI_ASSOC)) { $count = $rs['Auto_increment']; //見当たる場合はその値を入れる } } //直近で挿入した値を取得 $query = ' INSERT INTO table (aaa, bbb) VALUES (aaa, bbb) '; $row = $mysqli->query($query); $count = $mysqli->insert_id; //ここに直近で挿入したオートインクリメント値が入る
関連記事
-
-
PHPで画像にロゴをつける
フォームから送られてきた画像にロゴをつけたかった。 結論としてclass.upl ...
-
-
phpMyAdminより高速で軽量なAdminerが凄い
MySQLをGUIで管理できるphpMyAdmin。特に不満はないんだけど、もっ ...
-
-
WordPressにてPHPのAPCuを使用して高速化を図る方法
先日本サイトのサーバにAPCuを導入した。しかしながら所感にも書いたとおりAPC ...
-
-
PHPのheader関数で気になった点
結論としてページの移転の場合はexitか ページ自体を消した方がよさ下。 &nb ...
-
-
file_get_contentsを使用する際にタイムアウト設定
20秒に1回自動でリロードするページにて file_get_contentsを使 ...
-
-
PHPの配列をファイルに保存してPHPやJSで呼び出す
PHPの配列をファイルとして保存し、別のページからPHPやJavaScriptで ...
-
-
PHPで変数名を動的に変えて使う方法
変数名を動的に変えて使用したかった。 調べてみると可変変数というものがあり、希望 ...
-
-
smart_resize_imageで縦横の比率関係なく、固定リサイズ
PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...
-
-
PHPで定義した変数の一覧を表示させる
どこで何を定義したか分からなくなった際に 使ったのでメモ。 $array = g ...
-
-
PHPで%sとか%dとか
PHPで探し物していて%sとか%dとかいった記述があり 何これとなったのでメモ。 ...