Heim > Datenbank > MySQL-Tutorial > Warum schlägt meine Python MySQL INSERT-Anweisung fehl und wie kann ich das Problem beheben?

Warum schlägt meine Python MySQL INSERT-Anweisung fehl und wie kann ich das Problem beheben?

Mary-Kate Olsen
Freigeben: 2024-12-09 14:57:12
Original
601 Leute haben es durchsucht

Why Does My Python MySQL INSERT Statement Fail, and How Can I Fix It?

Daten in eine MySQL-Datenbank einfügen

Problemstellung

Beim Versuch, die Werte 188 und 90 mithilfe eines Python-Skripts in eine MySQL-Datenbank einzufügen, Der Code kann nicht erfolgreich ausgeführt werden. Der folgende Codeausschnitt veranschaulicht den erfolglosen Versuch:

import MySQLdb
conn = MySQLdb.connect(host= "localhost",
                  user="root",
                  passwd="newpassword",
                  db="engy1")
x = conn.cursor()
x.execute("SELECT *  FROM anooog1")
x.execute (" INSERT INTO anooog1 VALUES ('%s','%s') ", (188,90))
row = x.fetchall()
Nach dem Login kopieren

Lösung

Das Problem entsteht aufgrund eines Fehlers in der SQL-Abfrage, die zum Einfügen verwendet wird. Die korrekte Syntax zum Einfügen von Daten in eine MySQL-Tabelle lautet wie folgt:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
Nach dem Login kopieren

Im bereitgestellten Code sind die einfachen Anführungszeichen ('') um die Werte falsch. Wenn Sie sie entfernen, kann die Abfrage erfolgreich ausgeführt werden.

Zusätzlich wurde der Ausnahmebehandlungsmechanismus hinzugefügt, um zu verhindern, dass unerwartete Fehler an der Datenbank vorgenommene Änderungen rückgängig machen. Der geänderte Code unten demonstriert die korrekte Implementierung:

import MySQLdb
conn = MySQLdb.connect(host= "localhost",
                  user="root",
                  passwd="newpassword",
                  db="engy1")
x = conn.cursor()

try:
   x.execute("""INSERT INTO anooog1 VALUES (%s,%s)""",(188,90))
   conn.commit()
except:
   conn.rollback()

conn.close()
Nach dem Login kopieren

Dieser überarbeitete Code sollte die Werte 188 und 90 erfolgreich in die angegebene MySQL-Tabelle einfügen.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine Python MySQL INSERT-Anweisung fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage