Je voudrais savoir quelle est la taille maximale d'un type VARCHAR MySQL.
J'ai lu que la taille maximale était limitée par la taille de la ligne, qui est d'environ 65 000. J'ai essayé de définir le champ en tant que varchar(20000)
mais il dit que c'est trop grand.
Je pourrais le définir en "Varchar(10000)`". Quelle est la valeur maximale exacte à laquelle je peux le définir ?
Gardez à l'esprit que MySQL a une limite de taille de ligne maximale. La représentation interne d'une table MySQL a une limite maximale de taille de ligne de 65 535 octets, sans compter les types BLOB et TEXT. Les colonnes BLOB et TEXT ne contribuent que pour 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 du nombre de colonnes et de la taille des lignes des tables] (http://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html)
La taille maximale qu'une 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 5.0.3 et les versions ultérieures. La longueur maximale effective d'un VARCHAR dans MySQL 5.0.3 et versions ultérieures est soumise à la taille maximale de la ligne (65 535 octets, qui est partagée entre toutes les colonnes) et au jeu de caractères utilisé.
Toutefois, notez que la limite est plus basse si vous utilisez un jeu de caractères multi-octets comme utf8 ou utf8mb4.
Utilisez les types TEXT
pour dépasser la limite de taille de ligne.
Les quatre types TEXT sont TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT. Ils correspondent aux quatre types BLOB et ont les mêmes longueurs maximales et exigences de stockage.
Plus de détails sur les types BLOB et TEXT.
Encore plus
Pour plus de détails, consultez [Data Type Storage Requirements] (http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html) qui traite des exigences de stockage pour tous les types de données.
vous pouvez également utiliser MEDIUMBLOB/LONGBLOB ou MEDIUMTEXT/LONGTEXT
Un type BLOB dans MySQL peut stocker jusqu'à 65 534 octets, si vous essayez de stocker plus que cette quantité de données, MySQL tronquera les données. MEDIUMBLOB peut stocker jusqu'à 16 777 213 octets, et LONGBLOB peut stocker jusqu'à 4 294 967 292 octets.
Vous pouvez utiliser le [type TEXT
][1], qui n'est pas limité à 64KB.