MySQL은 5.0.3 버전 이전에는 255자를 저장할 수 있었지만, 5.0.3 버전부터는 65,535자를 저장할 수 있게 되었습니다.
공식 MySQL 문서에는 다음과 같이 명시되어 있습니다.
MySQL 5.0.3 이상에서 VARCHAR의 유효 최대 길이는 최대 행 크기(65,535바이트, 모든 열에서 공유됨) 및 사용된 문자 집합에 따라 다릅니다. 예를 들어, utf8 문자에는 문자당 최대 3바이트가 필요할 수 있으므로 utf8 문자 세트를 사용하는 VARCHAR 열은 최대 21,844자를 갖도록 선언할 수 있습니다.
최대 행 크기 제한은 65,535바이트라는 점을 기억하세요. 이는 모든 열을 포함하여 총 크기가 65,535바이트를 초과해서는 안 된다는 것을 의미합니다.
이 제한을 위반하면 어떻게 되는지 살펴보겠습니다.
이것은 두 개의 열이 있는 테이블입니다. "one"은 길이가 32,765인 varchar이고 "two"는 길이가 32,766인 varchar입니다.
길이 = 32765 + 2 + 32766 + 2 = 65535.
CREATE TABLE IF NOT EXISTS `mytable` ( `one` varchar(32765) NOT NULL, `two` varchar(32766) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
이제 열 길이를 늘려 보겠습니다. -
CREATE TABLE IF NOT EXISTS `mytable` ( `one` varchar(32767) NOT NULL, `two` varchar(32770) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
위에서 다음 오류가 발생합니다. -
#1118 - 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
위에서 그대로 표시됩니다. -
The maximum row size is 65,535 bytes. If it exceeds, an error will be visible.
위 내용은 MySQL VARCHAR의 최대 크기는 얼마입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!