我正在尝试这个:
SET @query1 = 'star';
SELECT *
FROM businesses
WHERE business_name LIKE @query1
但我得到以下错误:
错误代码:1267非法混合排序规则(utf8_unicode_ci,IMPLICIT) 和(utf8_general_ci,IMPLICIT)操作'like'
我做错了什么?
答案 0 :(得分:3)
只需指定归类
即可SELECT * FROM businesses WHERE business_name LIKE @query1 COLLATE utf8_unicode_ci
对于更永久的修复,您需要更改服务器的排序规则以与db兼容或反之亦然。我在排序规则方面没有太多经验,因此您可以进行一些阅读。
答案 1 :(得分:0)
ALTER TABLE mydb.businesses DEFAULT COLLATE utf8_unicode_ci;
ALTER TABLE mydb.businesses CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;