MySQL查询不适用于NOT IN

Has*_*san 12 php mysql mysql-error-1064

我正在编写一个无法正常工作的查询

我的查询:

SELECT * 
FROM admin_marker 
WHERE admin_marker.city NOT IN (SELECT target FROM messsage)
Run Code Online (Sandbox Code Playgroud)

它说

#1267 - 操作'='的非法混合排序
(utf8_general_ci,IMPLICIT)和
(utf8_unicode_ci,IMPLICIT)

Gio*_*sos 16

您遇到的问题是由于两个表之间的不兼容的排序规则.解决它的一种方法是COLLATE在查询中使用子句:

SELECT * 
FROM admin_marker 
WHERE admin_marker.city NOT IN (SELECT target COLLATE utf8_general_ci 
                                FROM messsage)
Run Code Online (Sandbox Code Playgroud)

在这里演示