„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum werden meine Python-MySQL-Datenbankaktualisierungen nicht angezeigt?

Warum werden meine Python-MySQL-Datenbankaktualisierungen nicht angezeigt?

Veröffentlicht am 21.01.2025
Durchsuche:644

Why Aren't My Python MySQL Database Updates Reflecting?

Problem: Automatische Datenbankaktualisierungen treten bei MySQL und Python nicht auf

Beim Versuch, eine Zeile in einer MySQL-Datenbank über Python-Code zu aktualisieren, wird die Die Datenbank spiegelt die Änderungen nicht automatisch wider. Bei einer direkten Abfrage der Datenbank wird deutlich, dass die Aktualisierung nicht stattgefunden hat.

Mögliche Lösung

Das Problem kann darauf zurückzuführen sein, dass die Transaktion nicht ordnungsgemäß ausgeführt wurde. MySQLdb deaktiviert Autocommit standardmäßig. Das Hinzufügen von conn.commit() vor dem Schließen der Verbindung würde sicherstellen, dass die Änderungen dauerhaft in der Datenbank gespeichert werden.

Geänderter Code

import MySQLdb

conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname")
cursor=conn.cursor()

cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100")
conn.commit()  # Commit the changes to the database
cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100")
results = cursor.fetchall()

for row in results:
    print row[0]

print "Number of rows updated: %d" % cursor.rowcount

cursor.close()
conn.close()

Durch das Festschreiben der Transaktion vor dem Schließen der Verbindung sollte der Code die Datenbank erfolgreich aktualisieren und die Änderungen bei der direkten Abfrage widerspiegeln.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3