Maison > base de données > tutoriel mysql > Comment les longueurs de VARCHAR changent-elles entre MySQL 4 et 5 ?

Comment les longueurs de VARCHAR changent-elles entre MySQL 4 et 5 ?

Patricia Arquette
Libérer: 2024-11-22 08:57:10
original
500 Les gens l'ont consulté

How Do VARCHAR Lengths Change Between MySQL 4 and 5 ?

Longueurs MySQL VARCHAR : naviguer dans la confusion entre octets et caractères

Dans MySQL, l'interprétation des longueurs de colonne VARCHAR(n) varie en fonction sur la version de la base de données. Dans les versions antérieures à 4.1, les longueurs de colonnes étaient définies en octets. Cependant, dans MySQL 5 et versions ultérieures, les longueurs sont interprétées en unités de caractères.

Nombre d'octets : MySQL version 4

Dans MySQL version 4, une colonne VARCHAR(32) pourrait accueillir 32 octets de données. Par conséquent, le stockage de caractères multi-octets dans ce champ dépendrait de l'encodage de caractères spécifique, nécessitant potentiellement plus d'octets par caractère.

Nombre de caractères : MySQL version 5 et ultérieure

Après MySQL version 4, la longueur des colonnes est déterminée par le nombre de caractères. Une colonne VARCHAR(32) en UTF-8 autorise 32 caractères. Les caractères UTF-8 multi-octets occuperont toujours plusieurs octets dans ce cas, mais le calcul de la longueur de colonne prend en compte le nombre de caractères et non les octets.

Confirmation de la documentation MySQL

Pour clarifier davantage, la documentation officielle de MySQL 5 indique : "MySQL interprète les spécifications de longueur dans les définitions de colonnes de caractères en unités de caractères... Cela s'applique à CHAR, VARCHAR et TEXT. types."

Impact UTF-8 sur la longueur maximale de VARCHAR

Fait intéressant, la longueur maximale d'une colonne VARCHAR est également affectée par le jeu de caractères. Par exemple, dans MySQL 5.0.3 et versions ultérieures, les caractères utf8 peuvent nécessiter jusqu'à trois octets par caractère. Par conséquent, une colonne VARCHAR utilisant UTF-8 peut avoir une longueur maximale déclarée de 21 844 caractères (65 535 octets / 3 octets par caractère).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal