MySQL 9.0 版本说明
如果您在使用 ALTER TABLE
更改字符列的字符集或排序规则时收到重复键错误,则原因可能是新列排序规则将两个键映射到同一个值,或者表已损坏。在后一种情况下,您应该对表运行 REPAIR TABLE
。 REPAIR TABLE
适用于 MyISAM
、ARCHIVE
和 CSV
表。
如果您对事务表使用 ALTER TABLE
,或者您使用的是 Windows,则如果您对表进行了 LOCK TABLE
,则 ALTER TABLE
会解锁该表。这是因为 InnoDB
和这些操作系统无法删除正在使用的表。