第一个问题:要设置utf-8就好;
Index column size too large. The maximum column size is 767 bytes.
第一步:use 进入数据库
执行:
set global innodb_file_format = BARRACUDA;
set global innodb_large_prefix = ON;
第二步:执行
CREATE TABLE `app_item_rank_increment_hour` (
`at` varchar(20) NOT NULL,
`appv` varchar(20) NOT NULL,
`channel` varchar(20) NOT NULL,
`item_id` varchar(50) NOT NULL,
`rise` int(11) DEFAULT NULL,
`current_rank` int(11) DEFAULT NULL,
`day` int(10) NOT NULL,
`hour` int(10) NOT NULL,
`item_url` varchar(300) NOT NULL,
`item_title` varchar(150) NOT NULL,
PRIMARY KEY (`at`,`appv`,`channel`,`item_id`,`day`,`hour`,`item_title`,`item_url`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
标红为修改部分;
注意:使用图片中的方式在加载,会影响后面的表加入,如果不想影响可以进入mysql
使用source 命令加载,执行影响整一个表,不会影响后面的表
但一样不建议是用这种方式,这个参数会改了存储引擎的格式类型
最好检查mysql版本,使用相同版本则不会出现问题,
我是用的是5.6的版本,原sql使用的5.7的班版本,后面发现只要使用5.7以上的版本就不会出现这个问题