본문 바로가기

SQL

MySql Character set

MySql을 처음 쓰면서 당황했다.

두개의 테이블을 조인을 걸려고 했는데 아래와 같은 에러 메세지가!


1267 - Illegal mix of collations


collation 타입이 일치하지 않아서 생기는 문제라는데,

MySql에서는 캐릭터셋을 여러가지로 해줘야 한다는 걸 깨달음...

캐릭터셋 바꾸는 법은 구글링하면 금방 찾을 수 있다.


처음에는 /etc/mysql/my.cnf 이것만 수정하면 되는줄 알았더니

기존에 작성된 데이터베이스, 테이블은 적용이 안된다;;

따라서 수정을 해줘야 한다.

어휴 이것때문에 시간을 ㅠㅠ


기존 테이블, 데이터베이스는 alter 문으로 변경 가능하다.

e.g ALTER TABLE `table1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

이런 식으로... 이것도 한글 데이터가 안에 있으면 바꾸는 방법이 다르다는데 그건 검색해볼것...

나는 한글 데이터가 없어서 그냥 했더니 잘 되었다.


다행히 테이블이랑 데이터가 많지 않아서 그나마 덜 고생한듯.

다음부터는 DB 셋팅부터 파악하고 시작해야 할 것 같다.


아래는 참조했던 페이지들~!

https://www.lesstif.com/pages/viewpage.action?pageId=20775198

http://kwonnam.pe.kr/wiki/database/mysql/charset

'SQL' 카테고리의 다른 글

Oracle dynamic date 오라클 동적 시간 만들기  (0) 2017.06.28
IINNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN  (0) 2017.02.15
ORACLE WITH  (0) 2017.01.25
ms-sql 재귀쿼리  (0) 2016.12.19
MySql에서 날짜 테이블 비슷한거 만들기  (0) 2016.12.16