"\n### Error querying database. Cause: java.sql.SQLException: Illegal mix of collations for operation 'like'\n### The error may exist in comimi8/bigdata/authrvice/MyMessageService.java (best guess)\n### The error may involve com.vimi8.bigdata.auth.service.MyMessageService.getMyMessageByTypePCCunt-Inline\n### The error occurred while setting parameters\n### SQL: SELECT IFNULL(COUNT(1),0) FROM my_message AS m LEFT JOIN oauth_user AS u ON u.`user_id` = m.`receive_id` LEFT JOIN organization AS o ON o.`client_id` = m.`message_record_id` where m.receive_id=? and m.message_type=? and message_class=? AND (o.`org_name` LIKE CONCAT('%',?,'%') OR u.`real_name` LIKE CONCAT('%',?,'%') OR u.`phone_number` LIKE CONCAT('%',?,'%') OR m.`create_time` LIKE CONCAT('%',?,'%') )\n### Cause: java.sql.SQLException: Illegal mix of collations for operation 'like'\n; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1271]; Illegal mix of collations for operation 'like'; nested exception is java.sql.SQLException: Illegal mix of collations for operation 'like'"
mybatis5.5版本以上 org_name` LIKE CONCAT('%',?,'%') OR u.`real_name` LIKE CONCAT('%',?,'%') OR u.`phone_number` LIKE CONCAT('%',?,'%') OR m.`create_time` LIKE CONCAT('%',?,'%')
类似这样的输入一个关键词可以是查询名称 可以是查询日期,但如果是查询日期类型datetime 有中文 会报错 所以必须查询日期的like应该这样写
create_time LIKE binary CONCAT('%','中文','%') 在like后面加binary关键词即可完美解决这个异常