所以我想創造我的表如下表列指數:的MySQL/MariaDB的 - 創建工作不
CREATE TABLE company
(
id INT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
name TEXT UNIQUE NOT NULL,
INDEX(name(20))
);
它給我這個錯誤:
ERROR 1170 (42000): BLOB/TEXT column 'name' used in key specification without a key length
我不知道爲什麼它不起作用,因爲我在這裏遵循指南:https://dev.mysql.com/doc/refman/5.5/en/column-indexes.html
VARCHAR如何支持國際語言? –
據我所知,沒有區別。字符集和列的排序規則決定了這一點,而不是數據類型。如果您使用默認的'latin1',那麼國際支持幾乎不存在。請參閱['utf8mb4'](https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html)。 –
對於文本/ blob我讀了一些地方,你可以使第一個x字符作爲索引,這就是爲什麼我有'INDEX(name(20))'。我的鏈接甚至演示了這一點 –