错误信息
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 '',
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/185106.html