MySQL錯誤“Specified key was too long; max key length is 1000 bytes”的解決辦法


MySQL錯誤“Specified key was too long; max key length is 1000 bytes”的解決辦法


 

最近在處理執行 Flowable 6.5.0 官方提供的 MySQL 數據庫語句腳本的時候,

當執行到數據庫中的某三個字段設置unique索引的時候,遇到了“Specified key was too long; max key length is 1000 bytes”這樣的報錯。

 

問題原因

MySQL 在建立索引時,數據庫會先計算Index用到的字段長度(按下面比例乘起來不能超過限定的key長度1000):
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character

比如:

兩個字段長度均設置為255,當為utf8時,索引字段的長度為:(255*3+255*3)= 1530 > 1000

 

解決方案

調整字段的長度,讓索引占用的字節長度小於 1000,就可以正常創建索引

比如:

將字段長度由255調整為127 ,這樣上述的情況:(127*3+127*3)= 762 < 1000

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM