Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL VARCHAR 최대 크기는 얼마입니까?


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바이트를 넘지 않아야 함을 나타냅니다.

이를 위반하면 어떻게 되는지 알아보겠습니다 -

다음은 32,765 길이의 "1" varchar와 32766의 "2" 열이 있는 테이블입니다.

길이 =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.