ホームページ データベース mysql チュートリアル VARCHAR の長さは MySQL で UTF-8 でどのように機能しますか: バイトまたは文字?

VARCHAR の長さは MySQL で UTF-8 でどのように機能しますか: バイトまたは文字?

Nov 22, 2024 am 02:21 AM

How do VARCHAR lengths work in MySQL with UTF-8: Bytes or Characters?

MySQL VARCHAR の長さと UTF-8: バイトと文字

MySQL テーブルに VARCHAR フィールドを作成する場合、その方法を理解することが重要です指定された長さが解釈されます。 MySQL 4.1 より前のバージョンでは、VARCHAR の長さはバイト単位で定義されていました。ただし、MySQL 4.1 以降では、長さは文字単位でカウントされます。

UTF-8 テーブルの VARCHAR(32) フィールドは、32 バイトではなく 32 文字を表します。これは、UTF-8 が可変長エンコーディングであり、各文字が複数バイト (最大 4 バイト) を占めることができるためです。

バージョン 5 の公式 MySQL ドキュメントには次のように記載されています。

"MySQL文字列定義の長さの指定を文字単位で解釈します。これは、CHAR、VARCHAR、および TEXT 型に適用されます。"

ただし、 VARCHAR 列の最大長も UTF-8 の影響を受けます。 MySQL 5.0.3 以降では、有効な最大長は行サイズ (65,535 バイト) と使用される文字セットによって制限されます。

たとえば、UTF-8 文字は 1 文字あたり最大 3 バイトを必要とするため、 、UTF-8 を使用する VARCHAR 列は、最大 21,844 文字で宣言できます。これは、21,844 に 3 を乗じた値 (1 文字あたりのバイト数) が 65,532 となり、最大行サイズ内で他の列データ用に 3 バイトのバッファーが残るためです。

以上がVARCHAR の長さは MySQL で UTF-8 でどのように機能しますか: バイトまたは文字?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DockerでのMySQLメモリの使用を減らします DockerでのMySQLメモリの使用を減らします Mar 04, 2025 pm 03:52 PM

DockerでのMySQLメモリの使用を減らします

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

mysqlの問題を解決する方法共有ライブラリを開くことができません mysqlの問題を解決する方法共有ライブラリを開くことができません Mar 04, 2025 pm 04:01 PM

mysqlの問題を解決する方法共有ライブラリを開くことができません

sqliteとは何ですか?包括的な概要 sqliteとは何ですか?包括的な概要 Mar 04, 2025 pm 03:55 PM

sqliteとは何ですか?包括的な概要

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Mar 04, 2025 pm 03:54 PM

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド Mar 04, 2025 pm 03:49 PM

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか? 共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか? Mar 18, 2025 pm 12:00 PM

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

See all articles