Ini membutuhkan lebih dari dua pengaturan itu...
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
Mungkin yang Anda butuhkan hanyalah menambahkan ROW_FORMAT=...
ke CREATE TABLE
.
Instruksi ini diperlukan untuk 5.6.3 hingga 5.7.7. Dimulai dengan 5.7.7, sistem secara default menangani bidang yang lebih besar dengan benar.
Atau, Anda dapat menggunakan indeks "awalan":
INDEX(column(191))
(Tetapi pengindeksan awalan memiliki banyak kekurangan.)
"Jika server kemudian membuat format tabel yang lebih tinggi, innodb_file_format_max disetel ke nilai tersebut" menyiratkan bahwa setelan tersebut tidak menjadi masalah.