MySQL 8.4 發行說明
如果您在使用 ALTER TABLE 變更字元資料行的字元集或排序時收到重複索引鍵錯誤,原因可能是新的資料行排序將兩個索引鍵對應到相同的值,或是資料表已損毀。在後者的情況下,您應該在資料表上執行 REPAIR TABLE。REPAIR TABLE 適用於 MyISAM、ARCHIVE 和 CSV 資料表。
如果您在交易資料表上使用 ALTER TABLE,或者您正在使用 Windows,如果您對資料表執行 LOCK TABLE,ALTER TABLE 會解除鎖定該資料表。這麼做是因為 InnoDB 和這些作業系統無法捨棄正在使用的資料表。