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

Python连接MySQL时SELECT语句绑定变量报错问题求助

Python MySQL 语法错误问题解决

你的问题出在cursor.execute()方法的参数传递方式上:mysql.connector要求第二个参数必须是元组或列表,哪怕只有一个参数也不能直接传入单个变量。

原报错信息翻译:

mysql.connector.errors.ProgrammingError: 1064 (42000): SQL语法有误;请查看对应MariaDB服务器版本的手册,了解在'%s'附近使用的正确语法。

修正后的代码:

x = int(id_[0])
select_query = "SELECT * FROM files WHERE id = %s"
# 将单个参数包装为元组(末尾逗号不可省略)
cursor.execute(select_query, (x,))
results = cursor.fetchone()

原因说明:

直接传单个变量x时,驱动会错误地将其拆解为多个参数处理,导致SQL语句中的%s没有被正确替换,最终触发语法错误。把参数放进元组(或列表)里,才能让驱动正确完成参数绑定,避免语法问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:23:07