ここはちょっと見せられない

ぜったいぜったい見せられない

MySQL+MyISAM でトランザクションが使えない状態での SEQUENCE としての auto_increment

トランザクション使える InnoDB 使えばいいんだけどね。その昔使えない事があったような覚えがある。MyISAMしか登録できなかったんだっけ。

データ挿入したあとに、lastInsertId で今挿入したレコードのIDが戻ってくると思ってるのに、他に同時に処理が走ってた場合に違う値が帰ってくる可能性がある。

なので、別にID採番するためのテーブルを用意して、先に番号取得してから、それ以降の処理を通してやる必要がある。

すっかり忘れていたので覚書。