2010-03-16 2 views
4

하나의 쿼리를 실행해야하는 두 개의 물리적으로 분리 된 MySQL 데이터베이스가 있습니다. 내가 정렬을 제거하면데이터베이스간에 일치하지 않는 MySQL COLLATE 오류

ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1' 

:

and foo_table.bar_column like concat('%', rules.pattern, '%') COLLATE utf8_general_ci 

그것은이 오류가 데이터베이스 A의 그러나 데이터베이스 BI에 잘 실행 :

쿼리는 다음과 같습니다 SQL의 섹션이 데이터베이스 B에서 정상적으로 실행되지만 데이터베이스 AI에서 다음 오류가 발생합니다.

ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation 'like' 

두 데이터베이스 모두에서 실행되는 쿼리?

또는 두 데이터베이스에서 쿼리를 행복하게 만들 수있는 구성이 있습니까?

이 업데이트 :

데이터베이스 A는 버전 5.1.38이다, 데이터베이스 B 버전 5.1.34

+0

두 MySQL 서버 인스턴스의 버전은 무엇입니까? – Andy

답변

0

일부 유망 information here입니다.

업데이트 : 구문이 조금 오래되어 각 열을 더 이상 변환하지 않아도되지만 해당 링크의 제안 사항이 내 문제를 해결했습니다.

ALTER TABLE the_latin_one CONVERT TO CHARACTER SET utf8; 
관련 문제