SQL Error: 1267, SQLState: HY000 Illegal mix of collations

박상혁·2023년 3월 17일

mysql

목록 보기
1/1

개요

서로 다른 테이블끼리 비교하려 할 때 Collation이 달라서 생기는 오류입니다.

이때, collation은 어떻게 문자열을 비교하고 정렬할지 정의한 규칙들의 집합입니다.

Spring Security의 OAuth2를 공부하면서
구글을 통해 OAuth2 로그인을 시도하여 구글로부터 받은 객체를 DB에 저장하려 할 때 생긴 오류입니다.

왜 해당 오류가 생겼는지는 모르겠습니다...

오류 코드

SQL Error: 1267, SQLState: HY000
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='

해결

구글링을 통해 해결 방법들을 찾고 있던 중 이 방법을 통해 해결할 수 있었습니다.

ALTER TABLE user CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_ci';

참조

Ben Bausili - "MySQL – Fixing an Illegal mix of Collation"

profile
개발 노트

0개의 댓글