Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:ALTER IGNORE TABLE fornisce una violazione del vincolo di integrità

Il IGNORE L'estensione della parola chiave a MySQL sembra avere un bug nella versione di InnoDB su alcune versioni di MySQL.

Puoi sempre convertire in MyISAM, IGNORARE-AGGIUNGERE l'indice e poi riconvertirlo in InnoDB

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

Nota, se hai vincoli di chiave esterna, questo non funzionerà, dovrai prima rimuoverli e aggiungerli di nuovo in seguito.