【问题标题】:pymysql operational error 1054: inserted values are read as columnspymysql操作错误1054:插入的值被读取为列
【发布时间】:2022-10-09 03:56:20
【问题描述】:

当我尝试使用以下代码使用 pymysql 将一行代码插入到表中时,我最近一直在努力解决一个错误:

sql = 'INSERT INTO `db`.`table`(`cola`,`colb`) VALUES (`%s`,%s);'
vals = ('This is a string',227.77)
cur.execute(sql,vals)

我也提交了,但我不认为忘记提交是这里的问题。 当我运行我的代码时,我最终得到了错误:

pymysql.err.OperationalError: (1054, "Unknown column ''This is a string'' in 'field list'")

我不确定我是否在这里做错了,因为当我使用 pymysql 查看 db.table 中的列时,cola 和 colb 都存在。另外,我不知道为什么 VALUES() 中的某些内容最终会被视为一列?当我尝试其他格式化字符串的方法时,也会发生同样的事情。

非常感谢您提供的任何见解!对此,我真的非常感激!

【问题讨论】:

  • 删除第一个 %s 周围的反引号。
  • 谢谢你看这个!不幸的是,当我这样做时出现语法错误

标签: python-3.x sql-insert pymysql


【解决方案1】:

我想到了。我在 %s 周围添加了双引号,它适用于字符串。按照我上面写的方式插入一个数字可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2012-10-03
    • 2016-12-12
    • 2019-01-12
    • 1970-01-01
    • 2015-04-13
    • 2013-12-27
    相关资源
    最近更新 更多