mysql Index column size too large 超過767錯誤解決方案(轉)

lizhiqiang666發表於2020-11-27

mysql在執行指令碼時,報出了以下錯誤:

index column size too large. the maximum column size is 767 bytes

原因:

INNODB 引擎,UTF-8,主鍵字串 預設最大 767,需要修改

解決方案:

1. 對資料庫進行設定

set global innodb_file_format = BARRACUDA

set global innodb_large_prefix = ON

注意: 在navicat中執行成功,不清楚重啟資料庫是否還有效

檢視是否生效

show variables like ‘character%’;
show variables like ‘collation_%’;
show variables like ‘innodb_large_prefix’;
show variables like ‘innodb_file_format’;

2. 對指令碼進行修改,新增ROW_FORMAT=DYNAMIC

create table test (……..) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

參考文章:

stackoverflow.com/questions/307618...

轉載直接來源:

blog.csdn.net/pansanday/article/de...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章