将列表插入到sqlite表列python3中

时间:2015-04-27 17:08:20

标签: python-3.x sqlite

我一直在网上寻找答案,似乎没有解决我的问题。我收到以下错误:

第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()

1 个答案:

答案 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()