Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:ALTER IGNORE TABLE führt zu einer Verletzung der Integritätsbeschränkung

Das IGNORE Schlüsselworterweiterung zu MySQL scheint einen Fehler in der InnoDB-Version zu haben auf irgendeiner Version von MySQL.

Sie könnten immer zu MyISAM konvertieren, den Index IGNORE-HINZUFÜGEN und dann zurück zu InnoDB konvertieren

ALTER TABLE table ENGINE MyISAM;
ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field);
ALTER TABLE table ENGINE InnoDB;

Beachten Sie, dass dies nicht funktioniert, wenn Sie Foreign Key-Einschränkungen haben. Sie müssen diese zuerst entfernen und später wieder hinzufügen.