62 votes

Est-ce qu'un VARCHAR (20000) est valide dans MySQL?

Je suis dans le besoin d'une clarification de la longueur maximale d'un champ de type varchar dans MySQL.

J'ai toujours pensé que la longueur maximum est de 255 (255 quoi? Les personnages que j'ai supposé, mais cela peut être source de ma confusion). Prendre un coup d'oeil sur les tables d'une base de données mise en place par une entreprise extérieure, nous allons travailler, je vois un champ d'une configuration de type varchar(20000), en tenant des morceaux de xml de plus de 255 caractères. Pourquoi ce travail? Est 20000 une valeur valide?

Un peu de googling a révélé que dans mysql varchar a une limite de 65 535 octets, et je vois varchar(65535) en cours d'utilisation, donc comment le 255 limite se rapportent à cela?

74voto

Jonathan Sampson Points 121800

Remarque les Versions de MySQL.

http://dev.mysql.com/doc/refman/5.0/en/char.html

Les valeurs dans des colonnes VARCHAR sont des chaînes de longueur variable. La longueur peut être défini comme une valeur de 0 à 255 avant MySQL 5.0.3, et de 0 à 65 535 en 5.0.3 et les versions ultérieures. La longueur maximale réelle d'un VARCHAR dans MySQL 5.0.3 et, plus tard, est soumise à la taille maximale de ligne (65 535 octets, qui est partagé entre toutes les colonnes) et le jeu de caractères utilisé.

Quelle est la version de MySQL que j'ai?

Exécutez la requête suivante...

select version() as myVersion

12voto

Wouter van Nifterick Points 14218

Il est valide depuis la version 5.0.3, date à laquelle ils ont changé la longueur maximale de 255 à 65535.

CHAR a toujours été égal à 255 max.

http://dev.mysql.com/doc/refman/5.0/en/char.html

8voto

Havenard Points 9023

Si vous attendez des entrées trop volumineuses, utilisez plutôt TEXT, MEDIUMTEXT ou LONGTEXT.

3voto

shantanuo Points 4739

Bien que l'index ne puisse pas être construit sur varchar (2000)

1voto

pavium Points 7845

Le manuel MySQL indique

Les valeurs dans les colonnes VARCHAR sont des chaînes de longueur variable. La longueur peut être spécifiée avec une valeur comprise entre 0 et 255 avant MySQL 5.0.3 et entre 0 et 65 535 dans les versions 5.0.3 et ultérieures.

Cela dépend donc de la version que vous utilisez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X