Rumah > pangkalan data > tutorial mysql > Bagaimanakah Panjang VARCHAR Berubah Antara MySQL 4 dan 5?

Bagaimanakah Panjang VARCHAR Berubah Antara MySQL 4 dan 5?

Patricia Arquette
Lepaskan: 2024-11-22 08:57:10
asal
500 orang telah melayarinya

How Do VARCHAR Lengths Change Between MySQL 4 and 5 ?

MySQL VARCHAR Panjang: Menavigasi Kekeliruan Bait vs. Aksara

Dalam MySQL, tafsiran panjang lajur VARCHAR(n) berbeza-beza bergantung pada versi pangkalan data. Dalam versi sebelum 4.1, panjang lajur ditakrifkan dalam bait. Walau bagaimanapun, dalam MySQL 5 dan lebih baru, panjang ditafsirkan dalam unit aksara.

Byte Counts: MySQL Versi 4

Dalam MySQL Versi 4, lajur VARCHAR(32) boleh memuatkan 32 bait data. Oleh itu, menyimpan aksara berbilang bait dalam medan ini bergantung pada pengekodan aksara tertentu, yang berkemungkinan memerlukan lebih banyak bait setiap aksara.

Kiraan Aksara: MySQL Versi 5 dan Kemudian

Siarkan MySQL Versi 4, panjang lajur ditentukan oleh kiraan aksara. Lajur VARCHAR(32) dalam UTF-8 membenarkan 32 aksara. Aksara UTF-8 berbilang bait masih akan menduduki berbilang bait dalam kes ini, tetapi pengiraan panjang lajur mempertimbangkan bilangan aksara, bukan bait.

Pengesahan Dokumentasi MySQL

Untuk menjelaskan lebih lanjut, dokumentasi rasmi MySQL 5 menyatakan: "MySQL mentafsir spesifikasi panjang dalam definisi lajur aksara dalam unit aksara ... Ini digunakan untuk CHAR, VARCHAR dan jenis TEKS."

Kesan UTF-8 pada Panjang Maksimum VARCHAR

Menariknya, panjang maksimum lajur VARCHAR juga dipengaruhi oleh set aksara. Sebagai contoh, dalam MySQL 5.0.3 dan lebih baru, aksara utf8 boleh memerlukan sehingga tiga bait setiap aksara. Oleh itu, lajur VARCHAR menggunakan UTF-8 boleh mempunyai panjang maksimum yang diisytiharkan sebanyak 21,844 aksara (65,535 bait / 3 bait setiap aksara).

Atas ialah kandungan terperinci Bagaimanakah Panjang VARCHAR Berubah Antara MySQL 4 dan 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan