创建数据库表时出现的问题:
参考文档:http://www.erciyuanr.com/archives/325,https://blog.csdn.net/hanyunpiaoyu/article/details/82377897
出现这个问题的原因是在于默认的InnoDB 引擎单一字段索引的长度最大为 767 字节,但是如果我们用utf-8的字符集的话,一个字符有三个字节,这样算下来某些数据表的名称就不够。
所以需要修改一些配置:
1.把索引的长度的一个参数打开,这样索引下标最大可以到到3072字节(不过貌似这样会降低查询效率)
SET global innodb_file_format = BARRACUDA;
SET global innodb_large_prefix = ON;
2.将row_format改为 Dynamic 或者 Compressed
--创建表的时候
create table tb_name
(
……
) ENGINE=InnoDB DEFAULT CHARSET=utf8,ROW_FORMAT=DYNAMIC;
--修改表的时候
alter table tb_name ROW_FORMAT=DYNAMIC