mysql specified key was too long与Index column size too large. The maximum column size is 767 bytes.

第一个问题:要设置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以上的版本就不会出现这个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值