【问题标题】:Unknown column '..' in 'field list' -on inserting objects into mySQL'字段列表'中的未知列'..' - 将对象插入mySQL
【发布时间】:2017-12-27 05:48:37
【问题描述】:

我正在尝试将数据列上传到 mySQL 数据库。下面是遇到问题的代码的sn-p。

cursor = mariadb_connection.cursor()
cursor.execute=("CREATE TABLE IF NOT EXISTS table1 (ts TIMESTAMP, col2 char(10), col3 decimal (7,2), col4 decimal (5,2), col5 decimal (7,2), col6 decimal (5,2))")
sql ="INSERT INTO table1 (ts, col2, col3, col4, col5, col6)" 
sql += "VALUES (NULL, %s, %s, %s, %s, %s)"
cursor.execute(sql,(var2, var3, var4, var5, var6)) 

运行代码时,我收到以下错误: cursor.execute(sql,(var2, var3, var4, var5, var6)) TypeError: 'str' object is not callable

请注意,var2var6 是从 str 对象转换而来的 decimal 对象。

更新:从有问题的行中删除= 后,我现在似乎有另一个错误:mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'ts' in 'field list'.

任何想法我做错了什么?

更新:未知列问题的解决方法是删除现有表,然后再次运行脚本

【问题讨论】:

  • 你在这些变量 var2 到 var6 中保存了什么?
  • 你已经用cursor.execute=...覆盖了execute

标签: python mysql mariadb


【解决方案1】:

从您的cursor.excecute=(...) 中删除= 符号并使用它

cursor.execute("CREATE TABLE IF NOT EXISTS table1 (ts TIMESTAMP, col2 char(10), col3 decimal (7,2), col4 decimal (5,2), col5 decimal (7,2), col6 decimal (5,2))")

【讨论】:

  • 谢谢。我现在似乎有另一个错误:mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'ts' in 'field list'。但是,我已经指出这将是时间戳列。
  • 查看你的表是否已经创建?如果已创建,请查看此 ts 字段是否存在?
  • 谢谢,知道了!我删除了现有的表,然后我再次运行脚本,它现在运行良好。
猜你喜欢
  • 1970-01-01
  • 2020-12-23
  • 2014-05-26
  • 2018-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
  • 1970-01-01
相关资源
最近更新 更多