Movatterモバイル変換


[0]ホーム

URL:


KAYAC Engineers' Blog

MySQLのauto_incrementでDuplicate entryといわれたときに疑うこと

こないだMySQLでちょっと珍しいエラー出ていたのでご紹介したいと思います。

Duplicate entry 'nnnnnnn' for key 1

発行したSQLは「id auto_increment」指定のされたテーブルに対してidを指定せず値を追加していたのですが、idを指定して追加しようとしても、idを指定せず追加しようとしても上記のエラーが出て追加できませんでした。

はじめは「INTの上限?」とも思ったのですが、7桁で発生するとも考えにくいので「select * from table where id = nnnnnnn;」と発行したところ、今度は以下のようなエラーが発生しました。

ERROR 1030 (HY000): Got error 134 from storage engine

この時点でテーブルの不整合と判断し、myisamchkを実行したところ、案の定エラーが出ていたのでMySQLをバックアップした上でいったん停止し、以下のコマンドで修復しました。

myisamchk -r /var/lib/mysql/db_name/table.MYI

原因は不明なのですが、現状正常に稼動しているため上記対応で問題なかったと思っています。

JS体操に挑戦しよう♪
JS体操 〜JavaScriptで頭の体操をしよう!〜

『JS体操』とは面白法人カヤックが主催するJavaScriptのコードゴルフ大会。JavaScriptの問題をゲーム感覚で解きながら言語仕様の理解とプログラミング能力を深める、まさに頭の体操です。

人気記事10選
検索
Powered by はてなブログ

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp