MySQL ОШИБКА 1071 (42000): указанный ключ слишком длинный; максимальная длина ключа 1000 байтов - PullRequest
0 голосов
/ 04 мая 2020

У меня есть таблица MySQL, и мне нужно увеличить емкость двух столбцов. С помощью этой команды размер одного столбца изменился нормально:

ALTER TABLE TABLE_NAME MODIFY COLUMN COLUMN_NAME varchar(7000);

Другой столбец вернул сообщение об ошибке:

ОШИБКА 1071 (42000): указанный ключ слишком длинный; максимальная длина ключа составляет 1000 байт

. Ни один из столбцов не является Первичным ключом.

Я затрудняюсь понять, почему один столбец изменился бы в размере без проблем, в то время как другой выбрасывает ошибка

Вот таблица из "DESCRIBE TABLE_NAME"; команда:

+--------------+---------------+------+-----+---------+----------------+
| Field        | Type          | Null | Key | Default | Extra          |
+--------------+---------------+------+-----+---------+----------------+
|              | int(11)       | NO   | PRI | NULL    | auto_increment |
|              | int(11)       | YES  | MUL | NULL    |                |
| changed col  | varchar(7000) | YES  |     | NULL    |                |
|              | varchar(1023) | YES  |     | NULL    |                |
|need to change| varchar(255)  | YES  |     | NULL    |                |
|              | varchar(128)  | YES  |     | NULL    |                |
|              | varchar(128)  | YES  |     | NULL    |                |
|              | varchar(64)   | YES  |     | NULL    |                |
+--------------+---------------+------+-----+---------+----------------+

Вот моя конфигурация из SHOW VARIABLES LIKE '% char%'; команда:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...