select with error非法混合排序规则

mspsb9vt  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(297)

我有mysql条款:

Select * from table where firstname like 'INPUT'

我正在尝试输入显示错误: Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' 我设置了变量:

我试图输入表情符号,但仍然显示错误。
这个案子你能帮我吗?

zqry0prt

zqry0prt1#

您可以尝试此查询:

select * from table_name where firstname like 'INPUT';

table是关键字,因此请尝试在查询中指定表的名称。

cnwbcb6i

cnwbcb6i2#

出现此错误的原因是您的列 firstname 在角色集中 utf8 (别名为 utf8mb3 )它不能表示需要4字节的字符(所有表情符号都属于这一类)。
解决这个问题的一个方法是更改上的字符集 firstnameutf8mb4 . 但是,这样做的缺点是,如果varchar上有索引,那么它只能有191个字符长。

alter table `table` modify `firstname` varchar(191) character set utf8mb4;

相关问题