smellman's Broken Diary

クソみたいなもんです

auto_increment にはまった件

PHP+mysqlなとあるプログラムを解析していてちょっとはまった。あるテーブルにidってフィールド名があってプライマリキーになっていると。でも、INSERTしてるコードを見てもidを指定していない。いちおう、POSTからSQLを生成しているようなので、Wireshark動かしてPOSTのデータを解析してもでてこない。シーケンスも見当たらないし、max(id)+1とかもコードの中で見当たらない。そのくせ、INSERT直後のSELECT id とかやってる。なんじゃこりゃと思って、テーブルの定義をもう一度確認するとauto_incrementなるものが...
ずっとOracleばっか触ってたから、シーケンスかmax()のどっちか使うだろうと思いこんでました。すげーアホくさいはまり方でした。ってか、これに辿りつくのに4時間もかかった...orz