热门IT资讯网

Error Code: 1071. Specified key was too long;

发表于:2024-11-22 作者:热门IT资讯网编辑
编辑最后更新 2024年11月22日,错误信息Error Code: 1071. Specified key was too long; max key length is 767 bytes表结构CREATE TABLE yundou_

错误信息

Error Code: 1071. Specified key was too long; max key length is 767 bytes

表结构

CREATE TABLE yundou_data_system.`object_event` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,  `object_id` int(11) unsigned NOT NULL DEFAULT '0',  `event_name` varchar(256) NOT NULL DEFAULT '',  `create_time` int(11) unsigned NOT NULL DEFAULT '0',  `status` tinyint(1) unsigned NOT NULL DEFAULT '1',  PRIMARY KEY (`id`),  UNIQUE KEY `unq_event_name` (`event_name`),  KEY `idx_object_id` (`object_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='对象事件表'

原因
mysql的varchar主键只支持不超过767个字节或者768/2=384个双字节 或者767/3=255个三字节的字段 而GBK是双字节的,UTF8是三字节的。

解决方案

`event_name` varchar(255) NOT NULL DEFAULT '',
0