본문 바로가기
백엔드/DB

[MySQL] utf8mb4_general_ci와 utf8mb4_0900_ai_ci 차이 및 캐릭터셋 변경하기

by 작은소행성 2023. 4. 18.

 

utf8mb4_general_ci와 utf8mb4_0900_ai_ci 차이

 

테이블 생성시 컬럼에서 해당 내용이 섞여서 설정되고 있었다. 

두개의 차이는 같은 값을 가져도 collation이 다르게 설정되면 정렬/비교 순서가 달라져 조인이슈나 결과값이 달라질 수 있다. 

이유가 있지 않으면 하나로 통일해서 사용하는 것을 권장한다. 

 

 

utf8mb4_0900_ai_ci의 경우 한글 데이터를 조건으로 검색하는 결과에도 영향을 미친다. 

그래서 정확한 한글 검색을 처리하기 위해서는 utf8mb4_general_ci 로 설정해서 사용한다. 

 

 

 

테이블의 캐릭터셋 변경

utf8mb4_0900_ai_ci -> utf8mb4_general_ci 로 변경하는 명령어이다. 

alter table rewards.member convert to character set utf8mb4 collate utf8mb4_general_ci;

 

반응형