Heim Datenbank MySQL-Tutorial Mysql varchar大小长度问题_MySQL

Mysql varchar大小长度问题_MySQL

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

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
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie aktualisiere ich die neueste Version von Bybit Exchange? Wird es Auswirkungen geben, wenn es nicht aktualisiert wird? Wie aktualisiere ich die neueste Version von Bybit Exchange? Wird es Auswirkungen geben, wenn es nicht aktualisiert wird? Feb 21, 2025 pm 10:54 PM

Die Möglichkeit zur Aktualisierung von Bybit -Börsen variiert je nach Plattform und Gerät: Mobil: Überprüfen Sie nach Updates und installieren Sie im App Store. Desktop -Client: Überprüfen Sie die Updates im Hilfemenü und installieren Sie automatisch. Webseite: Sie müssen auf die offizielle Website zugreifen, um Updates zu erhalten. Wenn der Austausch nicht aktualisiert wird, kann dies zu Sicherheitslücken, funktionalen Einschränkungen, Kompatibilitätsproblemen und reduzierter Transaktionseffizienz führen.

Der interne Code eines chinesischen Zeichens erfordert mehrere Bytes zum Speichern Der interne Code eines chinesischen Zeichens erfordert mehrere Bytes zum Speichern Dec 14, 2020 pm 05:45 PM

Der interne Code eines chinesischen Zeichens benötigt zum Speichern 2 Bytes. Im beliebten chinesischen Zeichensystem in China belegt der interne Code eines chinesischen Zeichens 2 Bytes, da das chinesische Zeichenverarbeitungssystem die Kompatibilität zwischen chinesischen und westlichen Sprachen sicherstellen muss, wenn es sowohl ASCII-Codes als auch nationale Standardcodes für chinesische Zeichen gibt System wird es zu Mehrdeutigkeiten kommen. Zu diesem Zweck sollte der interne Code für chinesische Zeichen entsprechend verarbeitet und in den nationalen Standardcode umgewandelt werden.

Top 10 asiatische Währungsbörsen Rankings 2025 Neueste Ranglisten Top 10 asiatische Währungsbörsen Rankings 2025 Neueste Ranglisten Feb 14, 2025 pm 11:12 PM

Mit dem boomenden Markt für virtuelle Währungen steigen auch Kryptowährungsbörsen in Asien rasch an. In diesem Artikel werden die neuesten Ranglisten der zehn besten Börsen im asiatischen Währungskreis im Jahr 2025 erfasst, um den Anlegern eine maßgebliche Referenz für die Auswahl einer zuverlässigen Handelsplattform zu bieten. Das Ranking wird basierend auf mehreren Dimensionen wie Transaktionsvolumen, Vermögensmengen, Sicherheit und Benutzererfahrung umfassend bewertet, um den Anlegern dabei zu helfen, den besten Austausch auszuwählen, der ihren Handelsanforderungen entspricht.

Beherrschen Sie die Fähigkeiten der PHP-Verarbeitung der Transkodierung chinesischer Zeichen Beherrschen Sie die Fähigkeiten der PHP-Verarbeitung der Transkodierung chinesischer Zeichen Mar 28, 2024 pm 03:47 PM

PHP ist eine weit verbreitete serverseitige Skriptsprache, die häufig für die Website-Entwicklung verwendet wird. Während der Website-Entwicklung stoßen wir häufig auf die Notwendigkeit, chinesische Schriftzeichen zu transkodieren, insbesondere wenn es um chinesische Schriftzeichen geht. Durch die Beherrschung der PHP-Fähigkeiten bei der Verarbeitung der Transkodierung chinesischer Zeichen können Probleme wie verstümmelte Zeichen effektiv vermieden und die Stabilität und Benutzererfahrung der Website verbessert werden. 1. Funktionen utf8_encode und utf8_decode In PHP können Sie die Funktionen utf8_encode und utf8_decode verwenden, um chinesische Zeichen zu kodieren und zu dekodieren.

Gateio offizieller Download -Adresse Gateio offizieller Download Android -Version Gateio offizieller Download -Adresse Gateio offizieller Download Android -Version Feb 21, 2025 pm 03:00 PM

Gate.io bietet eine offizielle mobile Anwendung, mit der Benutzer die Android -Version über die folgenden Schritte herunterladen können: Besuchen Sie die offizielle Website, klicken "Link. Derzeit stellt Gate.io keine offizielle iOS-App zur Verfügung.

Vertiefendes Verständnis des Prinzips der Konvertierung chinesischer Zeichen in die UTF-8-Kodierung in PHP Vertiefendes Verständnis des Prinzips der Konvertierung chinesischer Zeichen in die UTF-8-Kodierung in PHP Mar 28, 2024 pm 02:44 PM

Das Prinzip der Konvertierung chinesischer Zeichen in die UTF-8-Kodierung beinhaltet tatsächlich das Konzept der Zeichenkodierung. In Computern müssen Textzeichen in Form von Zahlen dargestellt und gespeichert werden, und unterschiedliche Zeichenkodierungsschemata legen die Entsprechung zwischen verschiedenen Zeichen und Zahlen fest. UTF-8 ist eine häufig verwendete Zeichenkodierungsmethode. Sie unterstützt Zeichen weltweit und verwendet eine Kodierungsmethode mit variabler Länge, die Zeichen in verschiedenen Sprachen effektiv darstellen kann und besonders für den Unicode-Zeichensatz geeignet ist. Als gängige serverseitige Skriptsprache bietet auch PHP

Rangliste der Kryptowährungs-Austauschplattformen im Jahr 2025 (aktuelle Liste) Rangliste der Kryptowährungs-Austauschplattformen im Jahr 2025 (aktuelle Liste) Jan 13, 2025 pm 06:26 PM

Rangliste der Kryptowährungsbörsen 2025: Binance (Vorteile: Großes Handelsvolumen, mehrere Währungen, benutzerfreundliche Oberfläche und vollständiger Derivatemarkt) OKX (Vorteile: niedrige Gebühren, mehrere Handelspaare, professionelle Handelstools) Huobi (Vorteile: lange Geschichte, gute Liquidität, chinesische Schnittstelle) Bybit (Vorteile: Fokus auf Derivate, niedrige Gebühren, Einsteigerfreundlich) Kraken (Vorteile: gute Sicherheitsmaßnahmen, hohe Compliance, breite Altcoin-Unterstützung)

Lösung für das Problem bei der Eingabe chinesischer Zeichen in Win11 Lösung für das Problem bei der Eingabe chinesischer Zeichen in Win11 Jan 05, 2024 am 08:29 AM

Nachdem wir das Win11-System installiert haben, müssen wir zuerst die chinesische Eingabemethode für Win11 installieren. Wenn wir nach der Installation der chinesischen Eingabemethode immer noch keine chinesischen Zeichen eingeben können, werden die entsprechenden Dienste möglicherweise neu gestartet ist Steh auf und schau es dir an. Was tun, wenn Win11 keine chinesischen Zeichen eingeben kann: 1. Zunächst müssen wir sicherstellen, dass wir die chinesische Eingabemethode oder die Eingabemethodensoftware eines Drittanbieters heruntergeladen und installiert haben. 2. Wenn Sie nicht wissen, wie Sie eine Eingabemethode hinzufügen, können Sie sich die Tutorials auf dieser Website ansehen. 3. Wenn Sie nach dem Hinzufügen der Eingabemethode immer noch keine chinesischen Zeichen eingeben können, müssen Sie entsprechende Dienste aktivieren. 4. Klicken Sie zunächst mit der rechten Maustaste auf das Startmenü und suchen Sie nach „Computerverwaltung“. 5. Geben Sie dann „Aufgabenplaner“ ein – „Aufgabenplaner“.

See all articles