python - Python 上的 SQL 语法不正确

标签 python mysql

我找不到这段代码的错误:

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})

关于python - Python 上的 SQL 语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53346780/

相关文章:

python - 你怎么知道两个对象什么时候可以通信?

python:使用remove()按值从列表中删除元素

mysql - 当外键已经存在时添加主键

mysql - 按最佳结果排序

python - 如何在 Hg 中扩展另一个扩展的命令?

python - Conda:我怎么知道我从哪个 channel 收到包裹

python - 使用 python pandas 将字符串数据汇总为百分比

php - 使用 mysql_fetch_array 和 php 从数据库获取三个元素

php - 加入 eloquent orm php laravel

php - 调试 sql 查询如果失败