Heim > Datenbank > MySQL-Tutorial > Hauptteil

Doppelter Eintrag für Schlüssel „unique_key_constraint' – So beheben Sie den MySQL-Fehler: Doppelte Datensätze bei der Einschränkung eindeutiger Schlüssel

WBOY
Freigeben: 2023-10-05 10:00:50
Original
1191 Leute haben es durchsucht

Duplicate entry for key 'unique_key_constraint' - 如何解决MySQL报错:唯一键约束重复记录

So lösen Sie den MySQL-Fehler: Doppelte Datensätze werden durch eindeutige Schlüssel eingeschränkt, es sind spezifische Codebeispiele erforderlich.

Bei der Verwendung einer MySQL-Datenbank stoßen wir häufig auf das Problem doppelter Datensätze, die durch eindeutige Schlüssel eingeschränkt sind. Wenn Sie versuchen, ein Datenelement in die Tabelle einzufügen, wird die Fehlermeldung „Doppelter Eintrag für Schlüssel ‚unique_key_constraint‘“ angezeigt, wenn ein Datensatz mit derselben eindeutigen Schlüsseleinschränkung vorhanden ist. Dieser Fehler weist darauf hin, dass der Datensatz, den wir einfügen möchten, mit einem vorhandenen Datensatz in Konflikt steht und gegen die Eindeutigkeitsschlüsselbeschränkung verstößt.

Wenn also dieser Fehler auftritt, wie können wir ihn beheben? Im Folgenden werden einige gängige Lösungen vorgestellt, begleitet von spezifischen Codebeispielen.

Lösung 1: Doppelte Datensätze löschen

Der einfachste und direkteste Weg besteht darin, doppelte Datensätze zu löschen. Wir können die DELETE-Anweisung verwenden, um doppelte Datensätze mit widersprüchlichen Datensätzen zu löschen. Das Folgende ist ein Beispielcode:

DELETE FROM 表名 WHERE 唯一键列名 = '冲突值';
Nach dem Login kopieren

Zum Beispiel haben wir eine Tabelle mit dem Namen „students“, die eine eindeutige Schlüsseleinschränkungsspalte „student_id“ hat, und jetzt möchten wir einen Datensatz mit student_id 1001 einfügen, aber der Datensatz existiert bereits . Wir können den folgenden Code verwenden, um diesen widersprüchlichen Datensatz zu löschen:

DELETE FROM students WHERE student_id = 1001;
Nach dem Login kopieren

Lösung 2: Doppelte Datensätze aktualisieren

Zusätzlich zum Löschen doppelter Datensätze können wir auch die Aktualisierung doppelter Datensätze in Betracht ziehen. Mit der UPDATE-Anweisung können wir Datensätze aktualisieren, die Duplikate widersprüchlicher Datensätze sind. Das Folgende ist ein Beispielcode:

UPDATE 表名 SET 列名1 = '新值1', 列名2 = '新值2', ... WHERE 唯一键列名 = '冲突值';
Nach dem Login kopieren

Zum Beispiel haben wir eine Tabelle mit dem Namen „users“, die eine eindeutige Schlüsseleinschränkungsspalte „username“ hat. Jetzt möchten wir einen Datensatz mit dem Benutzernamen „admin“ einfügen, aber der Datensatz ist existieren bereits. Wir können den folgenden Code verwenden, um andere Feldwerte dieses widersprüchlichen Datensatzes zu aktualisieren:

UPDATE users SET password = 'newPassword' WHERE username = 'admin';
Nach dem Login kopieren

Lösung drei: Doppelte Datensätze ignorieren

Wenn wir doppelte Datensätze nicht löschen oder aktualisieren möchten, aber die eingefügten Datensätze ignoriert werden sollen können wir die INSERT IGNORE-Anweisung verwenden. Die INSERT IGNORE-Anweisung ignoriert Datensätze, die beim Einfügen von Datensätzen mit eindeutigen Schlüsseleinschränkungen in Konflikt stehen. Hier ist ein Beispielcode:

INSERT IGNORE INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
Nach dem Login kopieren

Zum Beispiel möchten wir einen Datensatz in eine Tabelle mit dem Namen „orders“ einfügen, deren eindeutige Schlüsseleinschränkungsspalte „order_number“ ist. Wir können den folgenden Code verwenden, um den Einfügevorgang widersprüchlicher Datensätze zu ignorieren:

INSERT IGNORE INTO orders (order_number, customer_id, total_amount) VALUES ('1001', '12345', '100.00');
Nach dem Login kopieren

Zusammenfassend lässt sich sagen, dass wir bei Auftreten des MySQL-Fehlers „Doppelter Eintrag für Schlüssel ‚unique_key_constraint‘“ doppelte Datensätze löschen, doppelte Datensätze aktualisieren oder das Duplizieren des Datensatzes ignorieren können um dieses Problem zu lösen. Wählen Sie je nach Situation die passende Lösung und nutzen Sie die Codebeispiele oben. Ich hoffe, der obige Inhalt ist hilfreich für Sie!

Das obige ist der detaillierte Inhalt vonDoppelter Eintrag für Schlüssel „unique_key_constraint' – So beheben Sie den MySQL-Fehler: Doppelte Datensätze bei der Einschränkung eindeutiger Schlüssel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage