Vyžaduje více než jen tato dvě nastavení...
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=ON;
SET GLOBAL innodb_large_prefix=1;
logout & login (to get the global values);
ALTER TABLE tbl ROW_FORMAT=DYNAMIC; -- or COMPRESSED
Snad vše, co potřebujete, je přidat ROW_FORMAT=...
do vaší CREATE TABLE
.
Tyto pokyny jsou potřebné pro 5.6.3 až 5.7.7. Počínaje verzí 5.7.7 se systém nastaví správně, aby zpracoval větší pole.
Případně můžete použít "prefix" index:
INDEX(column(191))
(Ale indexování prefixů je v mnoha ohledech chybné.)
"Pokud server později vytvoří vyšší formát tabulky, innodb_file_format_max je nastaven na tuto hodnotu" znamená, že toto nastavení není problém.