1071 - Specified key was too long; max key length is 767 bytes

set global innodb_large_prefix=on;
set global innodb_file_format=BARRACUDA;

 

主从都要修改以上2个参数。

 

#######################################################################

mysql> CREATE TABLE `wt_device` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `device_id` varchar(255) CHARACTER SET utf8mb4 NOT NULL COMMENT '设备Id', `it_version` varchar(255) DEFAULT NULL COMMENT 'it插件版本', `root_hk_version` varchar(255) DEFAULT NULL COMMENT 'root版本', `noroot_hk_version` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '非root版本', `wx_version` varchar(255) DEFAULT NULL COMMENT '企微版本', `device_type` int DEFAULT NULL COMMENT '设备类型【0 正常设备 1 灰度设备】', `manufacturer` varchar(255) DEFAULT NULL COMMENT '设备厂商', `model` varchar(255) DEFAULT NULL COMMENT '机型', `address` varchar(255) DEFAULT NULL COMMENT '设备连接地址', `wx_type` int DEFAULT NULL COMMENT '企微类型', `account_id` bigint DEFAULT NULL COMMENT '设备绑定账号id', `connect_at` datetime DEFAULT NULL COMMENT '连接时间', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `device_id` (`device_id`) USING BTREE COMMENT '设备id唯一索引' ) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8mb4;  
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

修改参数不管用,只能将索引的varchar(255)改成varchar(64)

posted on 2022-08-24 15:13  星期六男爵  阅读(14)  评论(0编辑  收藏  举报

导航