Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum löst ALTER IGNORE TABLE in MySQL immer noch den Fehler „Doppelter Eintrag' aus?

Patricia Arquette
Freigeben: 2024-11-08 02:29:02
Original
375 Leute haben es durchsucht

Why Does ALTER IGNORE TABLE Still Throw a

MySQL: ALTER IGNORE TABLE löst trotz Dokumentation eine „Integrity Constraint Violation“ aus

In der MySQL-Dokumentation heißt es eindeutig, dass die Verwendung von ALTER IGNORE TABLE in Kombination erfolgt mit einem EINZIGARTIGEN SCHLÜSSEL sollte das Entfernen von Duplikaten ermöglichen, indem etwaige Fehler bei doppelten Schlüsseln überschrieben werden. In der Praxis sind Benutzer jedoch auf die anhaltende Fehlermeldung „#1062 – Doppelter Eintrag ‚blabla‘ für Schlüssel ‚dupidx‘“ gestoßen.

Dieses Verhalten scheint durch einen Fehler in der InnoDB-Version von MySQL verursacht zu werden bestimmte Versionen. Insbesondere funktioniert die IGNORE-Schlüsselworterweiterung im InnoDB-Kontext nicht wie erwartet.

Lösung:

Um dieses Problem zu umgehen, können Benutzer die folgende Problemumgehung anwenden:

  1. Konvertieren Sie die Tabelle in MyISAM mit: ALTER TABLE table ENGINE MyISAM;
  2. Wenden Sie den Befehl ALTER IGNORE TABLE mit dem UNIQUE INDEX an: ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (Feld);
  3. Konvertieren Sie die Tabelle zurück in InnoDB mit: ALTER TABLE table ENGINE InnoDB;

Hinweis: Wenn die Tabelle Fremdschlüsseleinschränkungen enthält, entfernen Sie diese und fügen Sie sie erneut hinzu wird notwendig sein, um die Datenintegrität sicherzustellen.

Das obige ist der detaillierte Inhalt vonWarum löst ALTER IGNORE TABLE in MySQL immer noch den Fehler „Doppelter Eintrag' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage