Mysql之Specified key was too long; max key length is 767 bytes
mysq索引的字段都太長了,解決辦法:讓mysql支持比較長的索引,然後在插入表的時候,添加ROW_FORMAT=DYNAMIC ,自動格式化索引。
- 數據庫層面的修改
show variables like 'innodb_large_prefix';
show variables like 'innodb_file_format';
--修改最大索引長度限制
set global innodb_large_prefix=1;
set global innodb_file_format=BARRACUDA;
-- 添加
set global innodb_file_format_max=BARRACUDA;
- 建表語句的修改(直接使用navicat就不需要了)
-- 修改插入sql的語句添加ROW_FORMAT=DYNAMIC
create table idx_length_test_02
(
id int auto_increment primary key,
name varchar(255)
)
ROW_FORMAT=DYNAMIC default charset utf8mb4;
原文地址:Mysql之Specified key was too long; max key length is 767 bytes