MySQL索引的索引長度問題

2021-09-02 10:21:10 字數 588 閱讀 4914

mysql索引的索引長度問題: specified key was too long;max key length is 1000 bytes.

一、修改mysql的預設儲存引擎:

1、檢視mysql儲存引擎命令,在mysql>提示符下搞入show engines;字段 support為:default表示預設儲存引擎  

2、設定innodb為預設引擎:在配置檔案my.cnf中的 [mysqld] 下面加入default-storage-engine=innodb 一句

3、重啟mysql伺服器:mysqladmin -u root -p shutdown或者service mysqld restart 登入mysql資料庫

二、修改表引擎

1、檢視資料庫表狀態

show table status from db_name where name='table_name';   

2、修改資料庫表的引擎

alter table table_name engine=innodb;  

附:對於mysql資料庫,如果你要使用事務以及行級鎖就必須使用innodb引擎。如果你要使用全文索引,那必須使用myisam。

MySQL索引的索引長度問題

mysql的每個單錶中所建立的索引長度是有限制的,且對不同儲存引擎下的表有不同的限制。在myisam表中,建立組合索引時,建立的索引長度不能超過1000,注意這裡索引的長度的計算是根據表字段設定的長度來標量的,例如 create table test id int,name1 varchar 300...

mysql 索引長度

specified key was too long max key length is 767 bytes mysql在innodb引擎下的主鍵索引或者unique索引的最大長度為767bytes,在myisam下是1000bytes。當時我在建立unique索引的時候使用了兩個varchar 2...

mysql索引長度

大家應該知道innodb單列索引長度不能超過767bytes,聯合索引還有乙個限制是長度不能超過3072。mysql createtable tb a varchar 255 defaultnull,b varchar 255 defaultnull,c varchar 255 defaultnul...