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 |