尝试使用以下查询创建视图

SELECT * from wp_posts AS vender
LEFT OUTER
JOIN wp_postmeta AS vender_campaign ON vender_campaign.meta_key = 'vender'
  AND vender_campaign.meta_value LIKE CONCAT('%"',vender.ID,'"%')
WHERE vender.post_status = 'publish' AND vender.post_type = 'vender'

但得到错误:
“like”操作的排序规则(utf8mb4_unicode_ci,隐式)和(utf8mb4_general_ci,隐式)的非法混合
但如果我在phpMyAdmin窗口中执行这个查询,它就可以正常工作。
知道怎么回事吗?

最佳答案

wp_posts和wp_postteta似乎有不同的编码,utf8mb4_unicode_ci和utf8mb4_general_ci。
查询之所以有效,是因为可以将这些表的结果视为联接,但不能创建具有不同编码的视图。
我将更改这两个表中的一个表的编码以匹配另一个表。
编辑:我想您也可以将查询的格式转换为将其中一个表的文本编码转换为另一个表的编码(但是如果您可以,我将统一编码)
请看这里:http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html

09-26 03:41