mySQL、PHP information_schemaのauto_incrementの値が更新されないエラー?

レコードを追加しても問題はないけどinformation_schemaのauto_incrementを見ると値が更新されていない

作成日:2021-10-05, 更新日:2021-10-05

やりたかったこと

1.現在のauto_incrementの値が欲しかった
2.insertしたときのシリアルIDはインクリメントされている
3.「information_schema.auto_increment」を取得すると更新されていないことがある
・・・原因不明

auto_incrementの値の確認方法

▼auto_incrementの値を確認1

show table status like "〇〇〇";

▼auto_incrementの値を確認2

select `auto_increment`
from `information_schema`.`tables`
where `table_name`="〇〇〇";

状況

1.WEBサイトに登録FORMを用意
2.登録FORMから登録(※DBに保存するときに「information_schema.auto_increment」を使ってゴニョゴニョする)
・・・このときは、たぶん問題無かった

3.登録をまとめてしたい+テストもしたいってコトでseleniumを使う
4.seleniumで登録FORMから登録(※「2」と同じ)
・・・しばらくして「4」でゴニョゴニョした「information_schema.auto_increment」がすべて一緒というコトに気づく

現在に至る

対策

・「information_schema.auto_increment」が信用できないってコトで・・・
insertしたいテーブルのシリアルを直接取得することに。

▼今回欲しいのは次のオートインクリメントの値なので、「max()+1」にする

select max(id)+1 as next from 〇〇〇;

注意点

「max()」を使っているので最新のレコードを削除するようなコトがあると面倒かもしれない