Gardez à l'esprit que MySQL a une limite de taille de ligne maximale
La représentation interne d'une table MySQL a une limite de taille de ligne maximale de 65 535 octets, sans compter les types BLOB et TEXT. Les colonnes BLOB et TEXT ne contribuent que de 9 à 12 octets à la limite de taille de ligne car leur contenu est stocké séparément du reste de la ligne. En savoir plus sur Limites sur le nombre de colonnes de table et la taille des lignes .
La taille maximale qu'une seule colonne peut occuper est différente avant et après MySQL 5.0.3
Les valeurs des colonnes VARCHAR sont des chaînes de longueur variable. La longueur peut être spécifiée comme une valeur de 0 à 255 avant MySQL 5.0.3, et de 0 à 65 535 dans les versions 5.0.3 et ultérieures. La longueur maximale effective d'un VARCHAR dans MySQL 5.0.3 et versions ultérieures est soumise à la taille de ligne maximale (65 535 octets, qui est partagée entre toutes les colonnes) et au jeu de caractères utilisé.
Cependant, notez que la limite est inférieure si vous utilisez un jeu de caractères multi-octets comme utf8 ou utf8mb4.
Utilisez TEXT
types afin de dépasser la limite de taille de ligne.
Les quatre types de TEXT sont TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT. Ceux-ci correspondent aux quatre types de BLOB et ont les mêmes longueurs maximales et exigences de stockage.
Plus de détails sur les types BLOB et TEXT
- Réf pour MySQLv8.0 https://dev.mysql .com/doc/refman/8.0/en/blob.html
- Réf pour MySQLv5.7 https://dev.mysql .com/doc/refman/5.7/en/blob.html
- Réf pour MySQLv5.6 https://dev.mysql .com/doc/refman/5.6/en/blob.html
Encore plus
Découvrez plus de détails sur Exigences de stockage des types de données qui traite des exigences de stockage pour tous les types de données.