如果在使用 ALTER TABLE更改字符集或字符列的排序规则时出现重复键错误,原因可能是新列排序规则将两个键映射到相同的值,或者表已损坏。在后一种情况下,您应该REPAIR TABLE在桌子上跑步。REPAIR TABLE适用于 MyISAM、ARCHIVE和 CSV表格。
ALTER TABLE
REPAIR TABLE
MyISAM
ARCHIVE
CSV
如果您ALTER TABLE在事务表上使用或者如果您使用的是 Windows, 则在您对表执行操作后ALTER TABLE解锁该表 LOCK TABLE。这样做是因为 InnoDB这些操作系统无法删除正在使用的表。
LOCK TABLE
InnoDB