今天,給數據庫建立聯合索引後,插入數據報錯:索引記錄尺度不能超過1024字節,
原因:是因爲在定義字段的時候,字段定義的長度不能過長,如何要在該字段上建立索引,應該符合索引的設計才行,
也就是,如果是
1:單列索引,則建立索引的字段的長度定義不能過長,不可以超過索引的限制長度,
2:聯合索引,則多個字段的長度定義加在一起,不可以超過索引的限制長度。
舉例:
create table user (
name varchar(20),
address varchar(30)
)如果在 name 字段建立索引 則 varcahr(20) 這個 20 的長度不能長度不可以超過索引規則的長度,如果設置過大 比如設置成 varchar(10000) 這個太長了,在建立索引後,插入數據的時候會報錯,索引記錄尺度不能超過1024字節(虛谷數據庫報這個錯,不同的數據庫應該索引長度不一樣)
如果是聯合索引,比如 給user表建索引 create index `name` (`name`, `address`) 則 name 的字段長度 加上 address 的字段長度 ,兩字段的和 不能超過索引的規則的長度限制,否則也會報錯:索引記錄尺度不能超過1024字節(虛谷數據庫報這個錯,不同的數據庫應該索引長度不一樣)