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

使用read_sql_query()传递带通配符LIKE参数时SQL执行报错求助

解决SQL执行失败的问题

你的代码错误在于**pd.read_sql_query的参数传递方式不对**,第三个参数不是用来传SQL占位符的值的,正确的做法是通过params参数传递:

正确代码示例

lookup = '12545%'
sql = '''
Select *
From table
Where Name like ?
'''
df = pd.read_sql_query(sql, conn, params=[lookup])

关键说明

  • 不需要给lookup加f-string,普通字符串即可,%作为通配符直接写在字符串里就行,不用转义单引号。参数化查询会自动处理字符串的转义逻辑,同时避免SQL注入风险。
  • params参数接受列表或元组,把需要替换的占位符值放进去即可(如果有多个占位符,按顺序对应)。
  • 如果还是提示12545不存在,检查通配符是否符合你的查询需求:比如你要匹配包含12545的内容,就要把lookup改成'%12545%';当前写法是匹配以12545开头的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:55:26