ゆるゆる〜tech ver〜

勉強したこととかかく

AUTO_INCREMENTが飛ぶ

結論

InnoDBの仕様

現象

insert_on_duplicateで動くhogefugaを作っていたらidがめっちゃ飛びます!って言われた。 その直前でdelete文走ってて、なんか余計なdelete文発行されてる/間違っているのかな、と思ってコメントアウトしても起こった。

metacpan.org

つまり

$qb->insert_on_duplicate('member', { email => 'foo@exapmle.com', name => $name }, { name => $name });

$qb->insert_on_duplicate('member', { email => 'foo@exapmle.com', name => $name }, { name => $name });

$qb->insert_on_duplicate('member', { email => 'bar@exapmle.com', name => $name }, { name => $name });

ってやると id 1, id 3のレコードができる。

衝撃すぎて久しぶりにブログを書いた。

参考

monochrome-design.jp