2016-11-17 8 views
0

Ich versuche, eine Spalte in SQLITE aus einer Liste von ganzen Zahlen zu erstellen, aber die folgende Fehlermeldung erhalten:Wie kann ich aus einer Liste zu einer Datenbank hinzufügen?

"sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied." 

Hier ist mein Code:

conn = sq.connect('test.db') 
c = conn.cursor() 

def create_table(): 
c.execute('CREATE TABLE IF NOT EXISTS table(listItem VALUE)') 


def data_entry(): 
x = 0 
list1 = [61,33,4,5] 
n = [l for l in list1] 
while x < len(list1): 
    listItem = n 
    c.execute("INSERT INTO tell(listItem) VALUES (?)", 
      (listItem)) 
    x += 1 
conn.commit() 


create_table() 
data_entry() 
c.close() 
conn.close() 

Vielen Dank im Voraus! :)

Antwort

2

Wenn ich richtig verstehe, wollen Sie die Liste Schleife, nicht die gesamte Liste in einer Zeile einfügen

for l in list1: 
    c.execute("INSERT INTO tell(listItem) VALUES (?)", 
     (l,)) 
c.close() 
conn.commit() 

Und Ihre CREATE TABLE-Anweisung sollte tell erschaffen, da table ein reserviertes Wort ist und das ist, was Sie einfügen

+0

Das hat den Trick - vielen Dank! :) –

Verwandte Themen