Apakah panjang maksimum lajur MySQL VARCHAR?

王林
Lepaskan: 2023-08-24 11:49:07
ke hadapan
1169 orang telah melayarinya

MySQL VARCHAR 列的最大长度是多少?

Sebenarnya jenis data VARCHAR menyimpan data aksara panjang berubah dalam aksara tunggal dan berbilang bait. Sintaks untuk jenis data ini ialah VARCHAR(n), dengan n ialah bilangan maksimum aksara yang mesti dinyatakan semasa mencipta jadual. Sebelum MySQL 5.03, nilai n boleh berada dalam julat 0 hingga 255, tetapi dalam MySQL 5.03 dan kemudian, nilainya boleh berada dalam julat 0 hingga 65,535.

Bilangan maksimum aksara yang disimpan dalam VARCHAR bergantung pada saiz baris maksimum dan set aksara yang digunakan. Jika kita menggunakan set aksara ASCII maka ia boleh menyimpan 65,535 aksara kerana ASCII menggunakan 1 bait setiap aksara. Sebaliknya, jika kita menggunakan set aksara utf8, had aksara ialah 21,844 kerana utf8 akan menggunakan 3 bait setiap aksara. Had saiz baris maksimum ialah 65,535 bait, yang bermaksud bahawa termasuk semua lajur, saiz baris tidak boleh melebihi 65,535 bait.

Contoh

mysql> Create Table var_test(FName Varchar(32765) NOT NULL, LName Varchar(32766)
       NOT NULL);
       Query OK, 0 rows affected (0.25 sec)
Salin selepas log masuk

Pertanyaan di atas mencipta jadual dengan dua lajur: FName Varchar(32765) dan LName Varchar(32766). Jadi jumlah panjang ialah 32765+2+32766+2=65535 (menggunakan 2 bait setiap lajur untuk menyimpan panjang).

mysql> Create Table var_test1(FName varchar(32766) NOT NULL, LName Varchar(32766)
       NOT NULL);
       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
Salin selepas log masuk

Kini, MySQL akan mengembalikan ralat apabila panjangnya ditambah sebanyak 1 bait, seperti yang ditunjukkan dalam pertanyaan di atas.

Atas ialah kandungan terperinci Apakah panjang maksimum lajur MySQL VARCHAR?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!