2016-10-20 2 views
0

Ich versuche, eine SQL-Datenbank mit Python zu bearbeiten. Der folgende Code funktioniert:(Python) Tabellen in einer SQL DB bearbeiten?

conn = sqlite3.connect('database.db') 
cur = conn.cursor() 

cur.execute("INSERT INTO Tablename (column1, column2) VALUES (?, ?)", 
(value1, value2)) 
conn.commit() 

cur.close() 

Wenn ich jedoch eine andere Tabelle bearbeiten möchten, und ihre Spalten sind ‚Wann‘ und "Was ich kann die Tabelle bearbeiten?

OperationalError: near "When": syntax error 

Antwort

0

Ich habe die Antwort selbst herausgefunden!

Setzen Sie Klammern um Spaltennamen mit SQL-Schlüsselwörtern. In meinem Problem musste ich nur den Spaltennamen von 'wann' zu '[wann]' ändern.

STATT

cur.execute("INSERT INTO Tablename (When, What) VALUES (?, ?)", 
(value1, value2)) 

USE

cur.execute("INSERT INTO Tablename ([When], What) VALUES (?, ?)", 
(value1, value2))