为了账号安全,请及时绑定邮箱和手机立即绑定

OperationalError: near "%": Python 中的 sqlite3 语法错误

OperationalError: near "%": Python 中的 sqlite3 语法错误

慕的地10843 2021-11-09 16:25:41
我sqlite3在 Python 中使用该包并尝试从名为orders. 我想获取列值以order_date18 结尾的条目(varchar该条目的实际值为“10/20/2018”的列)。根据对类似问题的指导,我构建了如下查询:sql = """SELECT * FROM orders            WHERE order_date LIKE %s"""args = ['%' + '18']c.execute(sql, args)但我得到了这个:---------------------------------------------------------------------------OperationalError                          Traceback (most recent call last)<ipython-input-51-e6a345ebe6eb> in <module>      6 args = ['%' + '18']      7 ----> 8 c.execute(sql, args)      9 conn.commit()     10 OperationalError: near "%": syntax error我已经尝试通过多种方式构建查询,但每次都遇到相同的错误。根据我浏览过的其他问题,这应该可行。怎么了?
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您应该?用作绑定变量的占位符,而不是%s

sql = """SELECT * FROM orders
            WHERE order_date LIKE ?"""


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号