You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中LIKE与=查询结果不一致问题求助

问题分析与解决方法

核心原因是MySQL中反斜杠是默认转义字符,你写的'four\score_and_IFIF_years'里,\s会被MySQL解析为单个s,实际匹配的是fourscore_and_IFIF_years,和表中真实存储的four\score_and_IFIF_years不符,所以查不到结果。

以下是具体解决办法:

  • 方法1:用双反斜杠转义
    在查询语句中把单个反斜杠替换为双反斜杠,让MySQL识别为真实的单个反斜杠:

    select * from schema.table where `group` = 'four\\score_and_IFIF_years'
    
  • 方法2:查看字段真实存储值
    如果不确定字段实际存储的内容,用十六进制输出确认,避免显示层的转义干扰:

    SELECT `group`, HEX(`group`) FROM schema.table WHERE `group` LIKE '%IFIF%'
    

    对比十六进制结果:比如反斜杠的十六进制是5C,如果看到两个5C,说明实际存储的是双反斜杠,这时候需要用'four\\\\score_and_IFIF_years'来匹配。

  • 方法3:关闭反斜杠转义模式
    临时关闭MySQL的反斜杠转义功能(仅当前会话有效),之后直接写单个反斜杠即可匹配:

    SET sql_mode = 'NO_BACKSLASH_ESCAPES';
    select * from schema.table where `group` = 'four\score_and_IFIF_years'
    

内容的提问来源于stack exchange,提问作者gustavjaune

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:04:58