MySQL ALTER IGNORE TABLE verursacht Verletzung der Integritätsbeschränkung
Das Ändern einer MySQL-Tabelle mit ALTER IGNORE TABLE zum Entfernen doppelter Werte und das Hinzufügen eines eindeutigen Schlüssels sollte erfolgen Vermeiden Sie doppelte Schlüsselfehler. Allerdings ist bei Benutzern trotz Verwendung des IGNORE-Flags der Fehler „Verletzung der Integritätsbeschränkung“ aufgetreten.
Erklärung:
In der MySQL-Dokumentation heißt es, dass IGNORE die Datenbank anweist, Duplikate zu überspringen Zeilen auf eindeutigen Schlüsseln während der ALTER TABLE-Operation. Aber in einigen Fällen, insbesondere bei InnoDB-Tabellen, scheint es einen Fehler in der IGNORE-Erweiterung zu geben, der zu Verstößen gegen Integritätsbeschränkungen führt.
Lösung:
Um das zu beheben Problem, ziehen Sie die folgende Problemumgehung in Betracht:
Wechseln Sie zur MyISAM Engine:
Eindeutigen Index mit IGNORE hinzufügen:
Zurück in InnoDB konvertieren:
Hinweis:
Das obige ist der detaillierte Inhalt vonWarum führt ALTER IGNORE TABLE immer noch zu Verletzungen der Integritätsbeschränkung in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!