問題
Specified key was too long; max key length is 767 bytes
原因
建立索引時,數據庫計算key的長度是累加所有Index用到的字段的char長度後再按下面比例乘起來不能超過限定的key長度1000。
也就是因爲給字符串字段
添加唯一索引
時對字符的長度是有限制
。
很明顯我在設計時就給一個長度,太長了
解決方案
1.調整字段的字符串長度 VARCHAR(64)
2.修改數據庫限制(innodb_large_prefix )
mysql> set global innodb_file_format = BARRACUDA;
Query OK, 0 rows affected (0.00 sec)
mysql> set global innodb_large_prefix = ON;
Query OK, 0 rows affected (0.00 sec)
3.去掉唯一索引
,代碼邏輯上去限制