MySQL Specified key 'idx_t' was too long; max key length is 767 bytes 錯誤處理

mysql在運行sql腳本導入數據庫時,遇到了Specified key ‘idx_t’ was too long; max key length is 767 bytes錯誤。
由於 MySQL Innodb 引擎表索引字段長度的限制爲 767 字節,因此對於多字節字符集的大字段(或者多字段組合索引),創建索引會出現上面的錯誤。

以 utf8mb4 字符集 字符串類型字段爲例:utf8mb4 是 4 字節字符集,則默認支持的索引字段最大長度是: 767 字節 / 4 字節每字符 = 191 字符,因此在 varchar(255) 或 char(255) 類型字段上創建索引會失敗。

解決方案

在utf-8/utf8mb4 字符集下:將數據庫的主鍵,外鍵改成varchar(191) ,或者小於191即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章