phpMyAdminで「#1062 - Duplicate entry '127' for key 1」エラー
phpMyAdminからCSVデータをインポートさせてたんですが、「#1062 - Duplicate entry '127' for key 1」というエラーを吐いて128行目以降のデータを読み込まない異常事態発生!!
試しに127行目のデータを差し替えたり手作業で追加したりしても状況は変わらず...
ここは冷静になってググろう。
mysql5 #1062 - Duplicate entry '127′ for key 1 ではまる « エリベリンデラボmysql5 の insert でつまづきました。
key1はidというフィールドで primary key なのでユニークではあるが ちゃんとauto_increment してあるので
idを指定せずにinsertすれば問題ないはず・・・なのにタイトルのエラーではまりました。テーブルの不具合かとmyismchkも試しますが,エラーは見つかりませんでした。
select * from table_name where id = 127;
としてみるとエラーは出ずに正常にselectできます。途方に暮れてtable structureを眺めていると・・・。
原因は key1 の field type が tinyint(20)になっていたからでした^^;灯台元過ぎだぜ。
int にしたらちゃんとINSERTできてauto_incrementしてくれました。
そうだった。フィールド型「tinyint」だと最小-128から最大128までしか格納できないんだった...
ほとんどの場合ミスするのは自分の方です。
単純な話なんですがハマるとなかなか抜け出せないのでご注意をw