【发布时间】:2021-02-12 02:58:37
【问题描述】:
我一直在网上寻找答案,但似乎没有一个能解决我的问题。我收到以下错误:
line 17, in <module>
c.execute('INSERT INTO semesters (semester) VALUES (?)',mystuff)
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current
statement uses 1, and there are 3 supplied.
我在很多地方进行了很多更改,但我仍然不断收到此错误、另一个错误,或者它可以正常工作,但无法正确插入数据。
这是我的代码:
import sqlite3
conn = sqlite3.connect('scheduler.db')
c = conn.cursor()
c.execute('''DROP TABLE IF EXISTS semesters''')
c.execute('''CREATE TABLE semesters
(idse INTEGER PRIMARY KEY, semester TEXT, Idc INTEGER)''')
#FOREIGN KEY (Idc) REFERENCES careers (idc)
mystuff = [('Semester 1'),
('Semester 2'),
("Semester 3"),]
c.execute('INSERT INTO semesters (semester) VALUES (?)',mystuff)
conn.commit()
【问题讨论】:
-
'INSERT INTO semesters (semester) VALUES (?, ?, ?)'呢? -
刚试了,不行。我告诉它明确插入名为学期的列,我认为这就是为什么我只能使用一个“?”因为它只有一列。
-
该死!我在看什么 :D 。您需要 3 个不同的
INSERT语句,因为您实际上需要 3 条记录。 -
你介意做一个例子吗?如果它有效,我可以选择你作为接受的答案:p
标签: python-3.x sqlite