반응형
다른 서버의 테이블 한개를 받아와서 기존 테이블과 같이 쿼리를 짜려고 했더니 에러가 떴다.
뭐라는 거야 ㅎㅎ
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
반응형
'mysql' 카테고리의 다른 글
phpMyAdmin 설치 방법 (2023년 9월) (0) | 2023.09.25 |
---|---|
[mysql] order by 특정 값으로 정렬하기 (0) | 2023.09.08 |
[Mysql] Ubuntu linux Mysql 설치 및 초기 설정 (0) | 2023.09.01 |
Mysql 프로시져 확인 방법 (0) | 2019.11.01 |
mysql의 프로시져호출시 에러(procedure can't return a result set in the given context) (0) | 2017.02.28 |