Duplicate entry for key
一意制約に違反するデータを挿入しようとした場合に発生するエラー
概要
Duplicate entryは、UNIQUE制約やPRIMARY KEY制約に違反するデータを挿入または更新しようとした場合に発生します。
エラーメッセージ
ERROR 1062 (23000): Duplicate entry 'john@example.com' for key 'users.email'
原因
- 重複データの挿入: 既に存在する値を挿入しようとした
- 一括インポート時の重複: CSVなどのデータに重複がある
- 並行処理での競合: 同時に同じデータを挿入
解決策
1. INSERT IGNOREで重複を無視
| |
2. ON DUPLICATE KEY UPDATEで更新
| |
3. REPLACEで置換(注意:DELETEしてINSERT)
| |
4. 事前に存在確認
| |
5. アプリケーション側でハンドリング
| |
MySQL の他のエラー
この記事は役に立ちましたか?