美文网首页
解决mysql where条件查询emoji表情出现数据重复问题

解决mysql where条件查询emoji表情出现数据重复问题

作者: 随风_d6a2 | 来源:发表于2022-07-31 23:49 被阅读0次

1、背景
查询emoji萝卜这个表情时,把其他的表情也关联查出来了

image.png

2、解决

2.1、在where查询字段添加binary关键字,BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写   eg:select name from table where binary name = 😍
2.2、把字段的COLLATE 改为utf8mb4_bin
image.png

3、COLLATE是用来做什么的?
使用phpmyadmin的开发可能会非常眼熟,因为其中的中文表头已经给出了答案:


image.png

所谓utf8_unicode_ci,其实是用来排序的规则。对于mysql中那些字符类型的列,如VARCHAR,CHAR,TEXT类型的列,都需要有一个COLLATE类型来告知mysql如何对该列进行排序和比较。简而言之,COLLATE会影响到ORDER BY语句的顺序,会影响到WHERE条件中大于小于号筛选出来的结果,会影响DISTINCT、GROUP BY、HAVING语句的查询结果。另外,mysql建索引的时候,如果索引列是字符类型,也会影响索引创建,只不过这种影响我们感知不到。总之,凡是涉及到字符类型比较或排序的地方,都会和COLLATE有关。

相关文章

  • 解决mysql where条件查询emoji表情出现数据重复问题

    1、背景查询emoji萝卜这个表情时,把其他的表情也关联查出来了 2、解决 3、COLLATE是用来做什么的?使用...

  • 高并发下的mysql问题

    高并发下的mysql问题 mysql 重复插入问题 业务需要先根据where条件查询,如有数据命中对其进行修改否则...

  • MySQL数据库查询

    1、(查询)条件 查询基本语法 消除重复行 where 使用where条件对数据进行筛选 逻辑运算符 notand...

  • mysql删除重复数据

    Mysql 查询重复数据: 1.单条件查询: 2.多条件查询: 3.删除重复数据,只保留最小ID的数据:(多条件)

  • python学习笔记-数据库04_where

    使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中。 where 条件查询语法格式如下...

  • mysql 查询

    mysql的查询、子查询及连接查询 一、mysql查询的五种子句 where(条件查询)、having(筛选)、g...

  • mysql进阶(<( ̄︶ ̄)↗[GO!])

    对mysql数据的进一步操作查询。 mysql的条件 使用where子句对表中的数据筛选,结果为true的行会出...

  • [Mysql]WHERE条件查询

    数据库中如果包含大量的数据,很少需要检索表中所有的行信息,通常只会根据特定的需要提取对应的数据子集。只检索所需要数...

  • SQL之更删改查

    查询 单表查询 查询所有字段 查询指定字段 WHERE条件查询 下面的运算符可在 WHERE 子句中使用: 去重复...

  • 解决chrome不能显示emoji表情字符的问题

    解决chrome不能显示emoji表情字符的问题 emoji表情用得越来越多,chrome默认不能显示emoji表...

网友评论

      本文标题:解决mysql where条件查询emoji表情出现数据重复问题

      本文链接:https://www.haomeiwen.com/subject/vqsdwrtx.html