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;
반응형
'프로그래밍 언어 > DB' 카테고리의 다른 글
[MySQL] InnoDB란 (0) | 2023.07.27 |
---|---|
[MySql] 다른 테이블과 조인해서 UPDATE 하는 방법 (0) | 2023.07.14 |
[MySQL] 문자열 일부분만 가져오기 (0) | 2023.04.14 |
[MySQL] MySQL에 csv 파일 INSERT 하기 (0) | 2023.03.21 |
[MySQL] 데이터 null 을 0 으로 (0) | 2023.03.15 |