python - Python 上的 SQL 语法不正确
问题描述
我在这段代码中找不到错误:
sql = "INSERT INTO diff (val) VALUES (%s)"
test = '99'
mycursor.execute(sql, test)
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '%s)' at line 1
谁能给我解释一下?提前致谢!
解决方案
如果您可以描述您正在使用的数据库连接器会有所帮助,但是您可以尝试一些事情:
如果该值是字符串,请尝试将 %s 用引号括起来
"INSERT INTO diff (val) VALUES ('%s')"
您可能需要让您的执行函数的第二个参数是一个元组,即
mycursor.execute(sql, (test,))
您的连接器也可能支持关键字参数
mycursor.execute("INSERT INTO diff (:val)", {'val': '99})
推荐阅读
- c# - 延迟在基于 Kestrel 的 Web 服务器中发送 HttpResponse
- qt - 更新 PyQt5 中嵌入的 matplotlib 图导致重叠
- react-native - 如何在ios手机上同时显示多个警报
- node.js - internal/modules/cjs/loader.js:892 - Node.js npm 版本检查出错
- algorithm - 制作“老虎机”算法
- java - JavaFX 3D透视相机运动
- android - 后台任务中配置更改时再次重新加载 Json 数据
- computation-theory - DFA 语言和状态图
- firebase - Phoneauthprovider 不是一个函数 firebase react-native
- javascript - 如何在node.js中本地更新发布时间