我正在尝试使用ALTER IGNORE TABLE + UNIQUE KEY从MySQL表中删除重复项.MySQL文档说:
IGNORE是标准SQL的MySQL扩展.如果新表中的唯一键上存在重复项,或者启用了严格模式时出现警告,它将控制ALTER TABLE的工作方式.如果未指定IGNORE,则复制将中止并在发生重复键错误时回滚.如果指定了IGNORE,则只使用第一行在唯一键上具有重复项的行.其他冲突的行将被删除.不正确的值将截断为最接近的匹配可接受值.
当我运行查询时......
ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field)
Run Code Online (Sandbox Code Playgroud)
...我仍然收到错误#1062 - 关键'dupidx'重复输入'blabla'.
我阅读了以下有相关性的问题,但回复并没有让我满意:MySQL:#126 - 表的密钥文件不正确
运行查询时出现此错误
错误126(HY000):表`的密钥文件不正确
当我试图找到问题时,我找不到一个,所以我不知道如何用修复命令修复它.是否有任何指示我如何找到导致此问题的问题以任何其他方式然后我已经尝试过?
mysql> SELECT
-> Process.processId,
-> Domain.id AS domainId,
-> Domain.host,
-> Process.started,
-> COUNT(DISTINCT Joppli.id) AS countedObjects,
-> COUNT(DISTINCT Page.id) AS countedPages,
-> COUNT(DISTINCT Rule.id) AS countedRules
-> FROM Domain
-> JOIN CustomScrapingRule
-> AS Rule
-> ON Rule.Domain_id = Domain.id
-> LEFT JOIN StructuredData_Joppli
-> AS Joppli
-> ON Joppli.CustomScrapingRule_id = Rule.id
-> LEFT JOIN Domain_Page
-> AS Page
-> ON Page.Domain_id = Domain.id
-> LEFT JOIN Domain_Process
-> …Run Code Online (Sandbox Code Playgroud)