我正在尝试使用ALTER IGNORE TABLE和UNIQUE KEY从MySQL表中删除重复项。 MySQL文档如下所述:
IGNORE是MySQL对标准SQL的扩展。如果新表中存在唯一键上的重复项或启用严格模式时发生警告,则它控制ALTER TABLE的工作方式。如果未指定IGNORE,则如果出现重复键错误,则会中止并回滚拷贝。如果指定了IGNORE,则仅使用具有唯一键重复的第一行。其他冲突行将被删除。不正确的值将被截断为最接近的匹配可接受值。
当我运行查询时...
ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field)
...我仍然遇到错误#1062 - Duplicate entry 'blabla' for key 'dupidx'。
set session old_alter_table=1;
这对我有用。 - Peter