我有两个物理上独立的 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 版本