在使用查询时发现使用like的时候报错,提示
Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation 'like'
代码如下
SELECT *
FROM
`form_biz`.`v_distributed_goods` `vd2`
JOIN `form_biz`.`v_distribution_partner` `p2` ON (
( vd2.is_supply_only = 1 )
AND ( `p2`.`partner_id_path` LIKE concat( '%,', `vd2`.`channel_id`, ',%' ) )
AND ( vd2.city_code LIKE CONCAT( '%,', `p2`.`operation_address_city_code`, ',%' ) )
)
但是删除AND ( vd2.city_code LIKE CONCAT( '%,', `p2`.`operation_address_city_code`, ',%' ) ) 这行就没问题了,因为使用到了视图,所以解决编码问题不好解决,再说编码设置过来设置过去也晕,于是换了一种解决思路 ,比较字节码,修改后的代码如下:
SELECT *
FROM
`form_biz`.`v_distributed_goods` `vd2`
JOIN `form_biz`.`v_distribution_partner` `p2` ON (
( vd2.is_supply_only = 1 )
AND ( `p2`.`partner_id_path` LIKE concat( '%,', `vd2`.`channel_id`, ',%' ) )
AND ( vd2.city_code LIKE BINARY CONCAT( '%,', `p2`.`operation_address_city_code`, ',%' ) )
)
这下OK了