2017-03-15 1 views
0

Ich habe den folgenden Code, um eine Zeile aus einer Tabelle namens Posts zu löschen. Aus irgendeinem Grund wird der Beitrag nicht gelöscht. Ich habe auch versucht, den Befehl manuell über die Befehlszeile zu verwalten und es funktionierte gut. Ich weiß auch sicher, dass post_id korrekt und nicht null ist, da ich auch versucht habe, es zurück zu geben und es zu drucken, und die ID wird korrekt angezeigt. Ich sollte erwähnen, dass es keinen Fehler ausspuckt. Es passiert einfach nichts.SQLite-Abfrage löscht nicht funktioniert?

def deletePost(post_id): 
con = sql.connect("database.db") 
cur = con.cursor() 
cur.execute("DELETE FROM posts WHERE id = (?)", [post_id]) 
con.close() 

Antwort

1

Sie begehen nicht, vor dem Schließen Sie die Änderungen:

prüfen diese.

cur.execute("DELETE FROM posts WHERE item = ?", (post_id,)) 
con.commit() 
con.close() 

Allgemeine Informationen für SQLite:

Ein Import Punkt ist, das Komma "" in Tupels. Wenn Sie ein Element haben, dann ist das Hinzufügen des Kommas am Ende obligatorisch, aber wenn Sie mehr als ein Eintrag im Tupel haben (das Sie an sqlite übergeben), dann kein Komma nach dem letzten Element.

Verwandte Themen