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

如何让MySQL WHERE子句中CONCAT_WS条件与其他筛选条件同时生效

错误原因

你现有的SQL语句存在逻辑顺序错误:LIKE '%$search%'被错误绑定到client = '$client'的布尔判断结果上,而非你预期的CONCAT_WS拼接后的字符串,同时两个筛选条件没有正确拆分,导致client筛选规则完全失效,模糊匹配的逻辑也不符合预期。

修正后写法

SELECT * FROM Campaigns 
WHERE 
  -- 模糊匹配逻辑:针对拼接后的全字段做匹配
  CONCAT_WS(' ', id, created, campaign, client) LIKE '%$search%'
  -- 客户权限筛选逻辑
  AND client = '$client'

补充说明

  • 直接将$client、$search变量拼接进SQL的写法存在SQL注入风险,生产环境请使用预处理语句传递参数,不要直接拼接字符串。
  • 如果不需要对所有字段做模糊匹配,可以按需调整CONCAT_WS的入参字段,减少不必要的性能消耗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 11:36:04