1.Navicat 导入本地sql文件报错“[Msg] Finished - Unsuccessfully
2.Specified key was too long; max key length is 767 bytes
2.1检查数据库索引限制大小
SHOW variables like 'innodb_large_prefix';
当查询的值是OFF的话 继续执行下面命令
SET GLOBAL INNODB_LARGE_PREFIX = ON;
2.2查看当前的innodb_file_format引擎格式类型是不是BARRACUDA
SHOW variables like 'innodb_file_format';
结果不是则继续执行下面sql
SET GLOBAL innodb_file_format = BARRACUDA;
最后创建表的时候,还需要指定表的 row format 格式为 Dynamic 或者 Compressed
如下
DROP TABLE IF EXISTS `qiwen_user_file`;
CREATE TABLE `qiwen_user_file` (
`user_file_id` bigint(20) NOT NULL AUTO_INCREMENT,
`delete_batch_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`delete_flag` int(11) NULL DEFAULT NULL,
`delete_time` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`extend_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`file_id` bigint(20) NULL DEFAULT NULL,
`file_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`file_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`is_dir` int(1) NULL DEFAULT NULL,
`upload_time` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`user_id` bigint(20) NULL DEFAULT NULL,
PRIMARY KEY (`user_file_id`) USING BTREE,
UNIQUE INDEX `fileindex`(`file_name`, `file_path`, `extend_name`, `delete_flag`, `user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;