1. 程式人生 > >Specified key was too long; max key length is 1000 bytes問題解決

Specified key was too long; max key length is 1000 bytes問題解決

今天使用帆軟的報表平臺管理,進行外接資料庫配置,嘗試多次一直提示資料匯入失敗

java的報錯

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes

總結了下出錯的原因:

  1.DB engine 是MyIsAm
  2.字符集是 utf8 ,1個utf8=3bytes
  3.最後就是 (100+255)*3>1000 所以報錯

SHOW ENGINES

查了下解決方案有:修改DB engine 至 innodb;更改字符集;減小欄位長度

我採用的解決方案是修改DB engine為innodb

修改mysql配置檔案,my.ini下面部分

default-storage-engine=INNODB

重啟mysql

再次配置外接資料庫,資料庫資料匯入成功