【问题标题】:Python SQLite best way to use variables in queryPython SQLite 在查询中使用变量的最佳方法
【发布时间】:2015-05-07 18:32:23
【问题描述】:

为什么会出现这个错误?

sqlite3.OperationalError: near "?": syntax error

当我运行这个时:

c.execute('UPDATE ? SET Quantity = Quantity + ? WHERE Date = ?', (table, amount, date))

但不是在我运行它的时候?

c.execute('UPDATE table1 SET Quantity = Quantity + ? WHERE Date = ?', (amount, date))

变量值为:

table = 'table1'
amount = 20
Date = '12/5/2014'

我正在尝试动态创建表,但没有成功。

【问题讨论】:

标签: python sqlite


【解决方案1】:

您不能对表名使用占位符。您必须使用普通的 Python 字符串格式或连接。

【讨论】:

  • 这样的? (Table = 'table1' c.execute('UPDATE '+Table+' SET Quantity = Quantity + ? WHERE Date = ?', (amount, date)))
  • 是,或者使用 %s 或 {} 字符串格式化运算符。
猜你喜欢
  • 1970-01-01
  • 2021-05-28
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 2012-02-29
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
相关资源
最近更新 更多