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

如何在phpMyAdmin中对VARBINARY列执行带LIKE子句的MySQL查询?

VARBINARY类型列LIKE查询解决方案

完全可以直接在SQL语句内部完成类型转换实现匹配,无需使用预编译语句,phpMyAdmin原生支持相关语法。

可用查询方案

方案1:转换搜索字符串为二进制(推荐,性能更高)

该方案可以复用VARBINARY列上的索引,适合大数据量表查询:

-- 简化写法,用BINARY前缀直接转换搜索字符串
SELECT * FROM `cg_mclean_refs` WHERE mediaUrl LIKE BINARY '%Hello%';

-- 等效CAST写法,逻辑完全一致
SELECT * FROM `cg_mclean_refs` WHERE mediaUrl LIKE CAST('%Hello%' AS BINARY);

原理:VARBINARY是二进制存储格式,默认按字节逐位匹配,普通字符串和它对比时会因编码逻辑不匹配导致查询无结果,将搜索字符串转为二进制后即可对齐匹配规则。

方案2:转换VARBINARY列为字符串(适合忽略大小写的场景)

如果需要不区分大小写搜索,可以选择将列转为字符类型后匹配,该方案会放弃索引,仅适合小数据量场景:

SELECT * FROM `cg_mclean_refs` WHERE CAST(mediaUrl AS CHAR(255)) LIKE '%Hello%';

原有查询失败的额外原因

你之前的查询除了类型不匹配外,还有两处语法错误:

  • 表名cg_mclean_refs使用了单引号包裹,MySQL中表名、列名这类标识符需要用反引号`包裹,单引号仅用于包裹普通字符串,会触发语法报错
  • LIKE关键字后不需要加括号,虽然部分MySQL版本兼容带括号的写法,但不符合标准语法规范,建议去掉括号避免兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:15:03