com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was&nbsp_李孟_新浪博客...

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.

原因:
MySQL的varchar主键只支持不超过768个字节 或者 768/2=384个双字节 或者 768/3=256个三字节的字段 
而 GBK是双字节的,UTF-8是三字节的。

 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,
如    default-character-set = utf8
      character_set_server =  utf8
   修改完后,重启mysql的服务,service mysql restart
   使用 mysql> SHOW VARIABLES LIKE 'character%';查看
posted @ 2017-03-25 18:01  Dlimeng  阅读(15)  评论(0)    收藏  举报  来源