Lembre-se de que o MySQL tem um limite máximo de tamanho de linha
A representação interna de uma tabela MySQL tem um limite máximo de tamanho de linha de 65.535 bytes, sem contar os tipos BLOB e TEXT. As colunas BLOB e TEXT contribuem apenas de 9 a 12 bytes para o limite de tamanho da linha porque seu conteúdo é armazenado separadamente do restante da linha. Leia mais sobre Limites na contagem de colunas da tabela e no tamanho da linha .
O tamanho máximo que uma única coluna pode ocupar é diferente antes e depois do MySQL 5.0.3
Os valores nas colunas VARCHAR são strings de comprimento variável. O comprimento pode ser especificado como um valor de 0 a 255 antes do MySQL 5.0.3 e de 0 a 65.535 em 5.0.3 e versões posteriores. O comprimento máximo efetivo de um VARCHAR no MySQL 5.0.3 e posterior está sujeito ao tamanho máximo da linha (65.535 bytes, que é compartilhado entre todas as colunas) e ao conjunto de caracteres usado.
No entanto, observe que o limite é menor se você usar um conjunto de caracteres de vários bytes como utf8 ou utf8mb4.
Usar
TEXT
tipos para superar o limite de tamanho de linha.
Os quatro tipos de TEXTO são TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT. Eles correspondem aos quatro tipos de BLOB e têm os mesmos comprimentos máximos e requisitos de armazenamento.
Mais detalhes sobre os tipos BLOB e TEXT
- Ref para MySQLv8.0 https://dev.mysql .com/doc/refman/8.0/en/blob.html
- Referência para MySQLv5.7 https://dev.mysql .com/doc/refman/5.7/en/blob.html
- Ref for MySQLv5.6 https://dev.mysql .com/doc/refman/5.6/en/blob.html
Ainda mais
Confira mais detalhes sobre Requisitos de armazenamento de tipo de dados que trata dos requisitos de armazenamento para todos os tipos de dados.