myphpadmin 질문입니다.
본문
저번 질문에 여분필드는 maxlength가 255가 적용되어 있다고 답변을 받았습니다.
varchar(255) |
textarea도 여분필드 varchar255이니까 255자인가요?
가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가가나다라마바사아자차카타파하가
위가 240자입니다.
VARCHAR(M) [BINARY]
- 자료형의 크기 : varchar 필드의 CHARACTER SET 에 따라 가변적임. 예를들어 varchar(10) 이면서 utf4mb8 일 경우 최대(크기인덱스 1Byte + 데이터 40Byte 사용).
- 범위 : 1 에서 255 글자(현재는 1에서 65535 글자 까지. 그러나 varchar(255) 이상을 사용하고 싶은 경우 text 자료형을 사용하여라)
- 주의 : BINARY 키워드가 주어지지 않을 경우 대소문자 구분없이 검색한다.
- TIP1 : 모든 데이터 값의 길이가 고정일 경우 char 가 varchar 보다 저장공간도 적게 차지하고 속도도 아주 약간 더 빠르다.
- TIP2 : 대부분의 상황에서 varchar 와 char 는 IN/OUT 이 동일하게 처리된다. 아무거나 써도 되지만 varchar 를 선택하기를 권장한다.
1에서 65535글자면 가나다라마바사가 7글자인데 '가'라는 글자가 65535개 들어간다는 건가요?
varchar(255)적용하면 '가' 글자가 65535개 들어간다는건가요? 255개 들어간다는건가요?
초보라서 다른설명 해주셔도 이해가안됩니다. 위에 두 줄 질문 답변 부탁드립니다.
답변 3
윗분의 얘기처럼 약 125자 (한글 한글자가 2byte를 차지하는 경우) 또는 그 이하(한글 한글자가 3byte를 차지하는 경우)만 들어갈 수 있습니다.
지금의 상황을 보았을 때,
해당 컬럼의 타입을 'text' 로 변경하는 것을 추천합니다.
구조 > 변경하고자 하는 칼럼 '변경' -> 종류 'VARCHAR' -> 'TEXT'
그냥 쉽게 생각하면 최대 255글자가 들어간다는 의미입니다.
그러니까 입력값이 1자면 1자들어가고 20자면 20자들어가고
255자면 255자들어가고
255자가 넘으면 나머지는 입력이 안됩니다.
UTF-8 은 한글은 3byte 입니다. mb8 사용시 4byte 입니다.
varchar(255) 는 길이 255 byte 입니다.
한글 85자 들어가네요