ich habe:sqlite3 Update-Datenbank mit "?" - Python
Datenbank testing.db3 Tabelle: Mytable Spalten: 'name', 'Status'
ich tun:
con = sqlite3.connect('testing.db3')
cur = con.cursor()
cur.execute('select * from mytable where status is null')
data = cur.fetchone()
print(data[0])
als wollte ich erhalten folgendes Ergebnis:
('Johnny', 'None')
Jetzt versuche ich, diese Zeile zu aktualisieren, es funktioniert, wenn ich tun:
cur.execute('UPDATE mytable SET status = "Online" WHERE name is "Johnny"')
Wenn ich es jedoch mit '?' Aktualisieren will, funktioniert es einfach nicht. Irgendeine Idee warum?
cur.execute('UPDATE mytable SET status = "Online" WHERE name is ?', data[0])
con.commit()
con.close()
Würde mich über jede Hilfe freuen. Vielen Dank.
Was ist die Fehlermeldung? Liegt es daran, dass Sie zwei Parameter einfügen, aber das 'execute' erwartet nur eins? – imant
"sqlite3.ProgrammingError: Falsche Anzahl der gelieferten Bindungen." Ich habe Daten [0] ausgewählt, was der erste Wert von Tupel ist. –
Sie meinen, dass 'data [0]' den Wert "Johnny" hat? Korrigiere mich, wenn ich mich irre. – imant