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

MySQL中搜索含反斜杠的文本失败,请求技术支持

MySQL含反斜杠字符串的查询问题解决

不是不能搜索带反斜杠的字符串,是你写的查询语句没处理好MySQL的转义规则。

问题根源

MySQL默认把反斜杠(\)当成转义字符:

  • 你写的查询语句'apple\"apple',会被MySQL解析成apple"apple(反斜杠被用来转义双引号了),但你数据库里存的是apple\"apple(带反斜杠),自然匹配不到。
  • LIKE查询的逻辑一样,反斜杠会被当作通配符的转义符,导致匹配目标出错。

正确写法

要匹配数据库里的反斜杠,得在查询语句里用两个反斜杠表示一个实际存在的反斜杠:

精确匹配(=)

select * from table1 where title='apple\\\"apple';

解析后实际匹配的就是apple\"apple——\\变成一个\,\"变成一个"。

LIKE匹配

LIKE里反斜杠默认是转义符,同样要转义:

select * from table1 where title like 'apple\\\"apple';

嫌麻烦的话,也可以临时关闭反斜杠转义:

SET sql_mode = 'NO_BACKSLASH_ESCAPES';
select * from table1 where title like 'apple\"apple';

查完记得改回原来的sql_mode就行。

额外提醒

如果你本来是想存apple"apple(只有双引号,没反斜杠),那插入时写apple\"apple是对的,这时候用'apple"apple'或者'apple\"apple'都能查到。但按你说的数据库里确实有反斜杠,就按上面的方法来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:45:34