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
반응형