com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was&nbsp

2023-06-28 16:40:16 浏览数 (1)

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%';查看

0 人点赞