MySQL エラーの解決方法: 主キー レコードが重複しています。特定のコード サンプルが必要です。
MySQL データベースを使用すると、主キー レコードが重複するという問題がよく発生します。 。新しいデータをデータベースに挿入するときに、データの主キー値が既存のレコードの主キー値と同じである場合、主キー レコード重複エラーが発生します。このエラーのプロンプトは通常、「キー 'PRIMARY' のエントリが重複しています」というものです。
それでは、この問題をどうやって解決すればいいのでしょうか?この記事では、いくつかの解決策を示し、具体的なコード例を示します。
サンプル コード:
INSERT INTO table_name (id, name, age) VALUES (1, 'John', 30) ON DUPLICATE KEY UPDATE name = 'John', age = 30;
上記の例では、table_name という名前のテーブルにデータを挿入します。データの主キー ID が既に存在する場合、UPDATE ステートメントはレコードの名前フィールドと年齢フィールドの対応する値を更新するために実行されます。
サンプル コード:
INSERT IGNORE INTO table_name (id, name, age) VALUES (1, 'John', 30);
上記の例では、ID 1 のレコードがすでに存在する場合、エラーは無視され、挿入操作が続行されます。
サンプル コード:
SET @max_id = (SELECT MAX(id) FROM table_name); INSERT INTO table_name (id, name, age) VALUES (@max_id + 1, 'John', 30);
上記の例では、現在のテーブルの id の最大値をクエリし、それを変数 @max_id に保存します。次に、データを挿入するときに、新しく挿入されたレコードの ID が既存のレコードと重複しないように、ID を @max_id 1 に設定します。
主キーの値を変更する場合は、他の問題が発生しないように注意して操作する必要があることに注意してください。
概要:
主キー レコードの重複は、MySQL でよくあるエラーの 1 つです。この問題を解決する場合、ON DUPLICATE KEY UPDATE ステートメントを使用して既存のレコードを更新したり、INSERT IGNORE ステートメントを使用して重複レコード エラーを無視したり、主キー値を変更して重複を避けることができます。状況に応じて適切なソリューションを選択し、コードを実際のニーズに合わせて調整してください。
この記事で提供されている解決策とコード例が、MySQL エラー (主キー レコードの重複) の問題の解決に役立つことを願っています。
以上がキー「PRIMARY」の重複エントリ - MySQL エラーの解決方法: 主キーのレコードが重複していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。