MySQL提示:Duplicate entry "...." for key "..."

问题现象

在RDS MySQL实例中执行DDL语句时,提示如下错误:

Duplicate entry "...." for key "..."

可能原因

在执行重建表的DDL操作(例如创建索引、修改表引擎等)时,表上还存在着大量的DML操作。由于MySQL内部DDL操作是分阶段执行的,大量的DML操作导致DDL在做增量数据合并的阶段出现数据冲突,从而产生报错。

解决方案

重试DDL操作。

说明 如果该错误频繁出现,可以减少并发的DML操作。