Rumah > pangkalan data > tutorial mysql > Bagaimanakah MySQL Mentafsir Panjang VARCHAR dalam Jadual UTF-8?

Bagaimanakah MySQL Mentafsir Panjang VARCHAR dalam Jadual UTF-8?

DDD
Lepaskan: 2024-11-21 07:25:11
asal
412 orang telah melayarinya

How Does MySQL Interpret VARCHAR Lengths in UTF-8 Tables?

Menyahkod VARCHAR Lengths dan UTF-8 dalam MySQL

Semasa mencipta medan VARCHAR dalam MySQL, salah tanggapan biasa timbul mengenai kapasiti penyimpanan data . Pengguna mungkin menganggap bahawa medan VARCHAR(32) dalam jadual UTF-8 boleh memuatkan 32 bait atau 32 aksara, yang mana lebih besar. Walau bagaimanapun, tafsiran sebenar bergantung pada versi MySQL yang digunakan.

Versi 4 berbanding Versi 5

Dalam versi MySQL sebelum 4.1, panjang VARCHAR diukur dalam bait. Oleh itu, medan VARCHAR(32) boleh menyimpan sehingga 32 bait data. Walau bagaimanapun, dalam MySQL versi 5 dan lebih baru, panjang VARCHAR ditafsirkan dalam unit aksara. Oleh itu, medan VARCHAR(32) dalam jadual UTF-8 boleh memuatkan sehingga 32 aksara.

Dokumentasi MySQL Rasmi

Untuk menjelaskan isu ini, MySQL rasmi 5 dokumentasi secara eksplisit menyatakan:

"MySQL mentafsir spesifikasi panjang dalam definisi lajur aksara dalam aksara unit. (Sebelum MySQL 4.1, panjang lajur ditafsirkan dalam bait.) Ini digunakan untuk CHAR, VARCHAR dan jenis TEXT."

Impak UTF-8

Selain itu, set aksara yang digunakan boleh mempengaruhi panjang maksimum lajur VARCHAR. Sebagai contoh, aksara UTF-8 boleh memerlukan sehingga tiga bait setiap aksara. Oleh itu, lajur VARCHAR menggunakan UTF-8 boleh diisytiharkan sebagai maksimum 21,844 aksara. Ini dikekang oleh saiz baris maksimum 65,535 bait.

Atas ialah kandungan terperinci Bagaimanakah MySQL Mentafsir Panjang VARCHAR dalam Jadual UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan