Rumah >pangkalan data >tutorial mysql >Apakah MySQL Setara dengan varchar(maks)?

Apakah MySQL Setara dengan varchar(maks)?

Barbara Streisand
Barbara Streisandasal
2024-12-13 03:15:10619semak imbas

What's the MySQL Equivalent of varchar(max)?

Meneroka Setara dengan varchar(maks) dalam MySQL

MySQL tidak menawarkan persamaan eksplisit kepada varchar(maks) jenis data yang digunakan dalam sistem pangkalan data lain. Walau bagaimanapun, terdapat cara untuk mencapai kefungsian yang serupa dalam had MySQL.

Penghadan Saiz VARCHAR

Secara lalai, panjang maksimum VARCHAR medan dalam MySQL ialah 255 aksara. Untuk melanjutkan had ini, kita boleh menggunakan sintaks VARCHAR(panjang). Walau bagaimanapun, panjang ini masih tertakluk kepada saiz baris maksimum dalam MySQL, iaitu 64KB (tidak termasuk BLOB).

Contohnya:

VARCHAR(65535)

Ini akan mencipta VARCHAR medan dengan panjang maksimum 65535 aksara.

Set Aksara Pertimbangan

Set aksara berbilang bait, seperti UTF8, mengurangkan panjang berkesan medan VARCHAR. Dalam UTF8, setiap aksara boleh menduduki berbilang bait storan. Ini bermakna panjang maksimum sebenar medan VARCHAR menggunakan UTF8 akan menjadi lebih kecil:

VARCHAR(21844) CHARACTER SET utf8

Contoh Pengehadan Panjang VARCHAR

pengiraan saiz baris maksimum mesti termasuk overhed storan untuk panjang VARCHAR pengekodan, jadi panjang maksimum yang anda boleh isytiharkan adalah kurang sedikit daripada saiz baris maksimum.

CREATE TABLE foo ( v VARCHAR(65534) );
ERROR 1118 (42000): Row size too large...

Walau bagaimanapun, mengurangkan sedikit panjang membolehkan jadual dibuat:

CREATE TABLE foo ( v VARCHAR(65532) );
Query OK, 0 rows affected...

Menggunakan set aksara berbilang bait mengurangkan lagi panjang maksimum kerana ruang storan yang lebih besar diperlukan untuk setiap aksara:

CREATE TABLE foo ( v VARCHAR(65532) ) CHARSET=utf8;
ERROR 1074 (42000): Column length too big for...

Kesimpulannya, manakala MySQL tidak mempunyai persamaan yang tepat dengan varchar(maks), jenis data VARCHAR(panjang) menyediakan cara untuk menampung nilai teks yang besar dalam had saiz baris maksimum dan set aksara yang digunakan.

Atas ialah kandungan terperinci Apakah MySQL Setara dengan varchar(maks)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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