【问题标题】:Multiple parameters of different types sqlite3 python不同类型sqlite3 python的多个参数
【发布时间】:2017-02-02 17:15:39
【问题描述】:

我似乎无法弄清楚如何参数化多种不同的格式(同一查询中的实数和字符串)

conn = sqlite3.connect(dbfile)
c = conn.cursor()

def update_data(text,var2):
    c.execute("UPDATE T SET T12M = ? WHERE date = ?", (var2, text))
    conn.commit()

如果我硬编码我想要的东西,它就可以工作,但我似乎无法让变量编号/文本工作。例如,这可行,但我想传入可变数字/字符串: 更新 T SET T12M = 10 其中日期 = '9/28/2015';

【问题讨论】:

  • 你说它不起作用是什么意思?
  • 您确定该日期已显示在表格中吗?
  • 我的意思是它根本不更新 T12M 列中的值。是的,如果我输入 UPDATE T SET T12M = 10 WHERE date = '9/28/2015' 它可以工作。
  • 我正在用 update_data('9/28/2015',20) 测试它
  • 您似乎有相反顺序的参数,即调用中的日期第一个,而执行/更新中的日期第二个。

标签: python parameters sqlite sql-update where-clause


【解决方案1】:

尝试使用花括号和 .format() 方法:

c.execute("UPDATE T SET T12M = {} WHERE date = {}".format(var2, text))

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    相关资源
    最近更新 更多