Inconsistent MySQL COLLATE errors across databases
- by Teflon Ted
I have two physically-separate MySQL databases on which I have to run a single query.
The query has a section of SQL that looks like this:
and foo_table.bar_column like concat('%', rules.pattern, '%') COLLATE utf8_general_ci
It runs fine on database A but on database B I get this error:
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
If I remove the collation it runs fine on database B but on database A I get this error:
ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation 'like'
Is there a version of the query that will run on both databases?
Or, is there a configuration I can change on either database to make the query happy in both places?
Update:
Database A is version 5.1.38,
Database B is version 5.1.34