Ваша проблема в том, что в ваших столбцах хранятся многобайтовые значения, и поэтому они превышают максимальный размер строки.
Как объясняется в документах , таблицы MySQL имеют максимальный размер строки 65 535 байт.независимо от используемого вами двигателя.Добавление двух столбцов varchar(21844)
означает, что вы превысили этот предел.Это происходит потому, что CHARSET
на вашей таблице равно utf8
(в настоящее время псевдоним для utf8mb3
), поэтому каждый символ varchar
в вашей таблице занимает максимум 3 байта (плюс 2байты для хранения длины).Это хорошо для одного столбца из 21 844 символов, но не для двух.
Чтобы это исправить, используйте TEXT
(или TINYTEXT
, MEDIUMTEXT
и т. Д.) Вместо столбцов VARCHAR
.Это приведет к тому, что значения будут храниться отдельно, поэтому каждый из ваших столбцов будет вносить только несколько байтов в размер строки.(Это также объясняется в документах .)
Кроме того, к вашему сведению: написание column
, а не cloumn
.