>  기사  >  데이터 베이스  >  MySQL VARCHAR 열의 최대 길이는 얼마입니까?

MySQL VARCHAR 열의 최대 길이는 얼마입니까?

王林
王林앞으로
2023-08-24 11:49:071171검색

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

실제로 VARCHAR 데이터 유형은 가변 길이 문자 데이터를 단일 및 다중 바이트 문자로 저장합니다. 이 데이터 유형의 구문은 VARCHAR(n)입니다. 여기서 n은 테이블을 생성할 때 지정해야 하는 최대 문자 수입니다. MySQL 5.03 이전에는 n 값이 0~255 범위에 있을 수 있었지만 MySQL 5.03 이상에서는 값이 0~65,535 범위에 있을 수 있었습니다.

VARCHAR에 저장되는 최대 문자 수는 최대 행 크기와 사용된 문자 집합에 따라 다릅니다. ASCII 문자 세트를 사용하는 경우 ASCII는 문자당 1바이트를 사용하므로 65,535자를 저장할 수 있습니다. 반면, utf8 문자 세트를 사용하는 경우 utf8은 문자당 3바이트를 사용하므로 문자 제한은 21,844개가 됩니다. 최대 행 크기 제한은 65,535바이트입니다. 즉, 모든 열을 포함하면 행 크기가 65,535바이트를 초과할 수 없습니다.

Example

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

위 쿼리는 FName Varchar(32765) 및 LName Varchar(32766)의 두 열이 있는 테이블을 생성합니다. 따라서 총 길이는 32765+2+32766+2=65535입니다(길이를 저장하기 위해 열당 2바이트 사용).

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

이제 MySQL은 위 쿼리에서 볼 수 있듯이 길이가 1바이트 증가하면 오류를 반환합니다.

위 내용은 MySQL VARCHAR 열의 최대 길이는 얼마입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제