UTF-8(바이트 또는 문자)을 사용하는 MySQL에서 VARCHAR 길이는 어떻게 작동합니까?
Nov 22, 2024 am 02:21 AMMySQL VARCHAR 길이 및 UTF-8: 바이트 대 문자
MySQL 테이블에서 VARCHAR 필드를 생성할 때 VARCHAR 필드를 생성하는 방법을 이해하는 것이 중요합니다. 지정된 길이가 해석됩니다. 4.1 이전의 MySQL 버전에서는 VARCHAR 길이가 바이트 단위로 정의되었습니다. 그러나 MySQL 4.1부터는 길이가 문자 단위로 계산됩니다.
UTF-8 테이블의 VARCHAR(32) 필드는 32바이트가 아닌 32자를 나타냅니다. 이는 UTF-8이 가변 길이 인코딩이기 때문에 각 문자가 여러 바이트(최대 4바이트)를 차지할 수 있기 때문입니다.
버전 5에 대한 공식 MySQL 문서에는 다음과 같이 명시되어 있습니다.
"MySQL 문자 열 정의의 길이 지정을 문자 단위로 해석합니다. 이는 CHAR, VARCHAR 및 TEXT 유형에 적용됩니다."
단, 최대 길이는 VARCHAR 열도 UTF-8의 영향을 받습니다. MySQL 5.0.3 이상에서는 유효 최대 길이가 행 크기(65,535바이트)와 사용된 문자 세트에 의해 제한됩니다.
예를 들어 UTF-8 문자는 문자당 최대 3바이트가 필요할 수 있으므로 , UTF-8을 사용하는 VARCHAR 열은 최대 21,844자로 선언할 수 있습니다. 21,844에 3(문자당 바이트 수)을 곱하면 65,532가 되어 최대 행 크기 내에서 다른 열 데이터를 위한 3바이트의 버퍼가 남게 되기 때문입니다.
위 내용은 UTF-8(바이트 또는 문자)을 사용하는 MySQL에서 VARCHAR 길이는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?
