タグ

ブックマーク / www.greptips.com (1)

  • ON DUPLICATE KEY UPDATEをAUTO_INCREMENTのテーブルには発行しない方がいい - grep Tips *

    AUTO_INCREMENTはINSERTするたびにカウントアップして発番してくれるが、ON DUPLICATE KEY UPDATEを使用してINSERTではなく既存行のUPDATEになった場合もカウントアップされてしまう。実際にINSERTしている行数はたいしたことがないのに、ON DUPLICATE KEY UPDATEされる回数が多いせいで、AUTO_INCREMENT値が大きくなってしまい、INTなどの比較的小さい型にしていた場合にAUTO_INCREMENTが上限値に達してしまう。 以下のテーブルをもとにINSERTされていないのにAUTO_INCREMENT値が増えていることを実際に確認する。 mysql> CREATE TABLE on_dup_autoinc (id INT AUTO_INCREMENT PRIMARY KEY, ukey CHAR(1) UNIQUE K

    ON DUPLICATE KEY UPDATEをAUTO_INCREMENTのテーブルには発行しない方がいい - grep Tips *
    inoueyuworks
    inoueyuworks 2018/12/27
    on duplicate key update では、毎回 auto_increment が実行される。
  • 1