Heim >Datenbank >MySQL-Tutorial >Warum kann mein Python-Skript eine MySQL-Datenbank nicht aktualisieren, obwohl darin aktualisierte Zeilen angezeigt werden?

Warum kann mein Python-Skript eine MySQL-Datenbank nicht aktualisieren, obwohl darin aktualisierte Zeilen angezeigt werden?

DDD
DDDOriginal
2024-11-03 08:07:30687Durchsuche

Why Does My Python Script Fail to Update a MySQL Database Even Though It Shows Rows Updated?

Problem bei der Datenbankaktualisierung im Python-Skript behoben

Bei einer aktuellen Abfrage wurde festgestellt, dass ein Python-Skript zum Aktualisieren einer MySQL-Datenbank entwickelt wurde Die Tabelle wurde fälschlicherweise nicht aktualisiert. Bei weiteren Untersuchungen wurde festgestellt, dass das Skript den folgenden Code enthielt:

<code class="python">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")
   print "Row(s) were updated :" +  str(curb.rowcount)
   curb.close()
except MySQLdb.Error, e:
   print "query failed<br/>"
   print e  </code>

Im Skript sind Probleme aufgetreten, obwohl angegeben wurde, dass die Zeilen aktualisiert wurden. Als Ursache für diese Diskrepanz wurde das Fehlen von dbb.commit() festgestellt. Um sicherzustellen, dass mit einem Python-Skript durchgeführte Aktualisierungen korrekt auf die MySQL-Datenbank angewendet werden, ist es wichtig, dbb.commit() nach der Verwendung von curb.execute einzubinden. Diese Funktion schreibt alle Änderungen, die Sie in den MySQL-Server „geladen“ haben, fest und macht sie dauerhaft in der Datenbank.

Durch die Implementierung dieser Änderung aktualisiert das Python-Skript die MySQL-Tabelle erfolgreich wie beabsichtigt.

Das obige ist der detaillierte Inhalt vonWarum kann mein Python-Skript eine MySQL-Datenbank nicht aktualisieren, obwohl darin aktualisierte Zeilen angezeigt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn