mysql

mysql error 1267 (HY000): Illegal mix of collations 해결 방법

은둔한량 2023. 9. 1. 15:57
반응형

다른 서버의 테이블 한개를 받아와서 기존 테이블과 같이 쿼리를 짜려고 했더니 에러가 떴다.

뭐라는 거야  ㅎㅎ

mysql error 1267 (HY000): Illegal mix of collations

양쪽 테이블의 collations 가 달라서 그런단다. 캐릭터셋이 다르다는 이야기다. ㅎㅎ

다르면 맞춰주면 된다.

1. 한쪽 테이블의 collation 변경 한다.

ALTER TABLE table_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

 

2. 쿼리에서 임시로 collation 변경

# ANSI SQL 문법의 경우
on a.join_col_nm collate utf8mb4_general_ci = b.join_col_nm

# 일반 SQL 문법의 경우
where a.join_col_nm collate utf8mb4_general_ci = b.join_col_nm

 

반응형