gpt4 book ai didi

python - sqlite3.编程错误: Incorrect number of bindings supplied

转载 作者:行者123 更新时间:2023-11-30 23:32:16 26 4
gpt4 key购买 nike

你能告诉我我在代码中做错了什么吗?

我尝试搜索这个特殊案例,但找不到答案。我还尝试使用 official docs on sqlite3 中的示例,但无法让它发挥作用。基本上,我在 inc_data 中有很多数据需要插入到 sqlite3 中。

import sqlite3

inc_data = [[u'Period Ending', u'Dec 31, 2012', u'Dec 31, 2011', u'Dec 31, 2010'],
[u'Total Revenue\n', u'104,507,000\n', u'106,916,000\n', u'99,870,000\n'],
]


conn = sqlite3.connect("inc_data.db")
c = conn.cursor()
c.execute('''DROP TABLE inc_table''')

c.execute('''CREATE TABLE inc_table
(item text, value1 text, value2 text, value3 text)''')

c.execute('INSERT INTO inc_table VALUES (?,?,?,?)', inc_data)

conn.commit()

conn.close()

错误消息:

c.execute('INSERT INTO inc_table VALUES (?,?,?,?)', inc_data)
sqlite3.OperationalError: no such table: inc_table

非常感谢您的帮助。

最佳答案

您传入了两个项;每个参数列表。

要么使用c.executemany()(它确实需要一系列序列),要么循环inc_data以给出c.execute() 一组绑定(bind)值:

# insert multiple rows; one for each entry in `inc_data`
c.executemany('INSERT INTO inc_table VALUES (?,?,?,?)', inc_data)

# or loop
for bind_values in inc_data:
c.execute('INSERT INTO inc_table VALUES (?,?,?,?)', bind_values)

关于python - sqlite3.编程错误: Incorrect number of bindings supplied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com