Heim >Datenbank >MySQL-Tutorial >Warum werden meine MySQL-Updates in Python nicht wirksam?
MySQL-Updates in Python: Beheben fehlgeschlagener Updates
Beim Ausführen von MySQL-Update-Abfragen in Python-Skripten kann es zu dem Problem kommen, dass der Update-Befehl auftritt meldet erfolgreiche Ausführung, die Tabelle bleibt jedoch unverändert. Um dies zu beheben, ist es wichtig, das Konzept von Transaktionen und Commits in MySQL zu verstehen.
Transaktionen sind eine Reihe von Operationen, die als eine einzelne Einheit ausgeführt werden. In MySQL beginnt eine Transaktion, wenn eine Aktualisierungsabfrage ausgeführt wird, und endet, wenn die Transaktion festgeschrieben wird. Wenn eine Transaktion nicht festgeschrieben wird, sind alle während dieser Transaktion vorgenommenen Änderungen nicht dauerhaft und werden verworfen.
Um das in der Frage beschriebene Problem zu beheben, besteht der fehlende Schritt darin, nach der Aktualisierungsabfrage einen Festschreibungsbefehl auszugeben hingerichtet. Dieser Commit-Befehl teilt dem MySQL-Server mit, dass alle innerhalb der Transaktion vorgenommenen Änderungen dauerhaft in der Datenbank gespeichert werden sollen.
Der folgende Codeausschnitt demonstriert die Verwendung des Commit-Befehls:
import MySQLdb dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database") try: curb = dbb.cursor() curb.execute("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11") dbb.commit() # Commit the transaction print("Row(s) were updated :" + str(curb.rowcount)) curb.close() except MySQLdb.Error as e: print("Query failed") print(e)
Von einschließlich der dbb.commit()-Anweisung werden alle innerhalb der Transaktion vorgenommenen Änderungen, einschließlich der Aktualisierung der RadioGroups-Tabelle, dauerhaft in der Datenbank gespeichert.
Das obige ist der detaillierte Inhalt vonWarum werden meine MySQL-Updates in Python nicht wirksam?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!