Maison base de données tutoriel mysql Mysql varchar大小长度问题_MySQL

Mysql varchar大小长度问题_MySQL

Jun 01, 2016 pm 01:50 PM
20 Oui 汉字

bitsCN.com 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同。

1、限制规则

字段的限制在字段定义的时候有以下规则:

a)  存储限制

varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。

b) 编码长度限制

字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;

字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。

若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。

c)  行长度限制

导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示

ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。

 

2、计算例子

举两个例说明一下实际长度的计算。

a)  若一个表只有一个varchar类型,如定义为

create table t4(c varchar(N)) charset=gbk;

则此处N的最大值为(65535-1-2)/2= 32766。

减1的原因是实际行存储从第二个字节开始’;

减2的原因是varchar头部的2个字节表示长度;

除2的原因是字符编码是gbk。

b)  若一个表定义为

create table t4(c int, c2 char(30), c3 varchar(N)) charset=utf8;

则此处N的最大值为 (65535-1-2-4-30*3)/3=21812

减1和减2与上例相同;

减4的原因是int类型的c占4个字节;

减30*3的原因是char(30)占用90个字节,编码是utf8。

 

如果被 varchar 超过上述的 b 规则,被强转成 text 类型,则每个字段占用定义长度为 11 字节,当然这已经不是“ varchar ”了。

bitsCN.com
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre à jour la dernière version de Bybit Exchange? Y aura-t-il un impact s'il n'est pas mis à jour? Comment mettre à jour la dernière version de Bybit Exchange? Y aura-t-il un impact s'il n'est pas mis à jour? Feb 21, 2025 pm 10:54 PM

La façon de mettre à jour les échanges de recours varie selon la plate-forme et l'appareil: mobile: vérifiez les mises à jour et installez dans l'App Store. Client de bureau: vérifiez les mises à jour dans le menu d'aide et installez automatiquement. Page Web: Vous devez accéder manuellement au site officiel pour les mises à jour. Le défaut de mise à jour de l'échange peut entraîner des vulnérabilités de sécurité, des limitations fonctionnelles, des problèmes de compatibilité et une réduction de l'efficacité de l'exécution des transactions.

Le code interne d'un caractère chinois nécessite plusieurs octets pour être stocké Le code interne d'un caractère chinois nécessite plusieurs octets pour être stocké Dec 14, 2020 pm 05:45 PM

Le code interne d'un caractère chinois nécessite 2 octets pour être stocké. Dans le système de caractères chinois populaire en Chine, le code interne d'un caractère chinois occupe 2 octets. Étant donné que le système de traitement des caractères chinois doit assurer la compatibilité entre les langues chinoises et occidentales, une ambiguïté se produira lorsque des codes ASCII et des codes standard nationaux de caractères chinois existent dans le système. ; À cette fin, le code interne des caractères chinois doit être traité de manière appropriée et transformé en code standard national.

GATEIO Téléchargement officiel Adresse GATEIO Téléchargement officiel Android Version GATEIO Téléchargement officiel Adresse GATEIO Téléchargement officiel Android Version Feb 21, 2025 pm 03:00 PM

Gate.io fournit une application mobile officielle qui permet aux utilisateurs de télécharger la version Android via les étapes suivantes: Visitez le site officiel, cliquez sur le bouton "Télécharger", sélectionnez l'option "Android", scannez le code QR ou cliquez sur "Google Player " lien. Actuellement, Gate.io ne fournit pas une application mobile iOS officielle.

Maîtriser les compétences de traitement PHP du transcodage des caractères chinois Maîtriser les compétences de traitement PHP du transcodage des caractères chinois Mar 28, 2024 pm 03:47 PM

PHP est un langage de script côté serveur largement utilisé pour le développement de sites Web. Lors du développement de sites Web, nous rencontrons souvent le besoin de transcoder les caractères chinois, notamment lorsqu'il s'agit de caractères chinois. Maîtriser les compétences de PHP dans le traitement du transcodage des caractères chinois peut efficacement éviter des problèmes tels que des caractères tronqués et améliorer la stabilité et l'expérience utilisateur du site Web. 1.Fonctions utf8_encode et utf8_decode En PHP, vous pouvez utiliser les fonctions utf8_encode et utf8_decode pour encoder et décoder les caractères chinois.

Compréhension approfondie du principe de conversion des caractères chinois en codage UTF-8 en PHP Compréhension approfondie du principe de conversion des caractères chinois en codage UTF-8 en PHP Mar 28, 2024 pm 02:44 PM

Le principe de conversion des caractères chinois en codage UTF-8 implique en réalité la notion de codage de caractères. Dans les ordinateurs, les caractères du texte doivent être représentés et stockés sous forme de nombres, et différents schémas de codage de caractères spécifient la correspondance entre les différents caractères et nombres. UTF-8 est une méthode de codage de caractères couramment utilisée. Elle prend en charge les caractères dans le monde entier et utilise une méthode de codage de longueur variable, qui peut représenter efficacement les caractères dans diverses langues et est particulièrement adaptée au jeu de caractères Unicode. En tant que langage de script côté serveur courant, PHP fournit également

Solution au problème de saisie des caractères chinois dans Win11 Solution au problème de saisie des caractères chinois dans Win11 Jan 05, 2024 am 08:29 AM

Après avoir installé le système Win11, nous devons d'abord installer la méthode de saisie chinoise Win11 pour saisir les caractères chinois. Si après l'installation de la méthode de saisie chinoise, nous ne parvenons toujours pas à saisir les caractères chinois, les services associés peuvent être désactivés. est un Levez-vous et jetez un œil. Que faire si win11 ne peut pas saisir de caractères chinois : 1. Tout d'abord, nous devons nous assurer que nous avons téléchargé et installé la méthode de saisie chinoise ou un logiciel de méthode de saisie tiers. 2. Si vous ne savez pas comment ajouter une méthode de saisie, vous pouvez consulter les didacticiels sur ce site. 3. Si vous ne parvenez toujours pas à saisir des caractères chinois après avoir ajouté la méthode de saisie, vous devez activer les services associés. 4. Tout d'abord, cliquez avec le bouton droit sur le menu Démarrer et recherchez "Gestion de l'ordinateur". 5. Entrez ensuite "Planificateur de tâches" - "Planificateur de tâches".

Top 10 du logiciel de trading de devises numériques (dernière mise à jour en 2025) Top 10 du logiciel de trading de devises numériques (dernière mise à jour en 2025) Feb 14, 2025 pm 05:33 PM

À mesure que le marché de la monnaie numérique s'épanouit, l'achat et la vente d'actifs numériques sont devenus plus faciles que jamais. Cet article met en évidence les dix premiers logiciels de trading de devises numériques en 2025 qui peuvent aider les traders à participer facilement et en toute sécurité à participer au marché des devises numériques. Nous évaluons ces logiciels en fonction de la convivialité, des mesures de sécurité, des frais et d'autres facteurs clés pour fournir un guide complet pour prendre des décisions éclairées.

Sous quelle forme les caractères chinois sont-ils affichés sur l'ordinateur ? Sous quelle forme les caractères chinois sont-ils affichés sur l'ordinateur ? Dec 07, 2020 am 11:15 AM

Les caractères chinois sont générés dans l'ordinateur sous la forme de codes glyphes, qui sont un type de code matriciel. Afin d'afficher les caractères chinois sur un moniteur ou une imprimante, les caractères chinois sont conçus dans une matrice de points selon des symboles graphiques. la matrice de points correspondante est obtenue.

See all articles