我一直在网上寻找答案,似乎没有解决我的问题。我收到以下错误:
第17行,in c.execute('INSERT INTO semesters(semester)VALUES(?)',mystuff) sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用1,并且提供了3个。
我在很多地方做了很多改动,但我仍然不断得到这个错误,另一个错误,或者它有效,但它不会正确插入数据。
这是我的代码:
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()
答案 0 :(得分:2)
正如python sqlite3 documentation建议的那样,使用非标准快捷方式sqlite3.Connection.executemany()
而不只是execute()
:
mystuff = [('Semester 1'),
('Semester 2'),
("Semester 3"),]
c.executemany('INSERT INTO stocks VALUES (?)', mystuff)
conn.commit()