単一のクエリを実行する必要がある、物理的に分離された 2 つの MySQL データベースがあります。
クエリには、次のような SQL セクションがあります。
and foo_table.bar_column like concat('%', rules.pattern, '%') COLLATE utf8_general_ci
データベース A では問題なく動作しますが、データベース BI では次のエラーが発生します。
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
照合順序を削除すると、データベース 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