Мне нужно сохранить уникальный индекс в столбце varchar(500)
таблицы моей базы данных Mysql 5.7.13.Mysql 5.7.13 innodb unique column varchar (500)
Кодировка установлена в UTF8, поэтому, насколько мне известно, предел в символах равен 255, поскольку я использую движок innodb. Я знаю также, что существует опция innodb_large_prefix
, которая должна расширять размер до 3072 байт. Я попытался настроить свой db для поддержки этой функции, но это не сработает. Я попытался вставить две одинаковые строки длиной в 500 символов с последним символом, но я получаю уникальную ошибку ограничения, поскольку, как я полагаю, проверка уникальности выполняется по первым 255 символам.
Я что-то упустил? Не поняла ли я цель этого варианта?
P.S Я включил innodb_file_format = Barracuda
, как указано в документации mysql.
Спасибо за помощь. Simone
Каков формат вашей таблицы в таблице? Он говорит, что в документе это только для динамических или сжатых форматов строк, поэтому может быть и так. – rlanvin
@rlanvin Я изменил формат строки на «DYNAMIC» первым и «COMPACT», но результат тот же. Уникальное ограничение вычисляется по первым 255 символам. –