Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ขนาดสูงสุดของ VARCHAR ใน MySQL


MySQL ก่อน 5.0.3 จำกัด 255 ตัวอักษร ตั้งแต่ 5.0.3 เป็นต้นมา สูงสุด 65,535 ไบต์ต่อแถว (shared ทุกคอลัมน์)

จากเอกสารอย่างเป็นทางการ: ความยาวสูงสุดของ VARCHAR ขึ้นอยู่กับ max row size (65,535 bytes) และ character set เช่น utf8 ใช้สูงสุด 3 ไบต์/ตัวอักษร ดังนั้น VARCHAR utf8 สูงสุดประมาณ 21,844 ตัวอักษร

ตัวอย่างข้อผิดพลาด Row size too large:

CREATE TABLE mytable ( one VARCHAR(32765), two VARCHAR(32766) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;  -- OK (32765+2 + 32766+2 = 65535)
CREATE TABLE mytable ( one VARCHAR(32767), two VARCHAR(32770) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;  -- ERROR 1118: Row size too large

สรุป: ขนาดสูงสุดคือ 65,535 bytes ต่อแถว (ไม่รวม BLOB/TEXT) หากเกินต้องเปลี่ยนเป็น TEXT หรือ BLOB