Heim > Datenbank > MySQL-Tutorial > Wie korrigiere ich Fehler in Python-MySQL-Update-Anweisungen?

Wie korrigiere ich Fehler in Python-MySQL-Update-Anweisungen?

Linda Hamilton
Freigeben: 2024-11-09 14:32:02
Original
807 Leute haben es durchsucht

How to Correct Errors in Python MySQL Update Statements?

Fehler in Python-MySQL-Update-Anweisungen korrigieren

Beim Aktualisieren von Daten in einer MySQL-Datenbank mit Python ist es wichtig, die korrekte Syntax für sicherzustellen UPDATE-Anweisung. Betrachten Sie die folgende Anweisung mit Variablen:

cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)
Nach dem Login kopieren

Diese Anweisung enthält mehrere Fehler, die zu falschen Aktualisierungen führen können. Hier ist der richtige Ansatz:

cursor.execute ("""
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
Nach dem Login kopieren

In dieser überarbeiteten Anweisung:

  • Die Platzhalterwerte (%s) werden als Teil eines Tupels in die SQL-Abfrage eingebunden. Dieser Ansatz verhindert SQL-Injection-Schwachstellen.
  • Die SQL-Syntax folgt der korrekten Konvention zum Aktualisieren mehrerer Spalten in einer Anweisung.

Alternativ können Sie eine einfache Zeichenfolgenmanipulation für den Aktualisierungsbefehl verwenden als folgt:

cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
Nach dem Login kopieren

Von dieser Methode wird jedoch abgeraten, da sie den Code anfällig für SQL-Injection macht Angriffe.

Um potenzielle Probleme mit String-Ersetzungskonventionen über verschiedene Datenbank-Backends hinweg zu beseitigen, ist es ratsam, den ersten Ansatz zu verwenden.

Das obige ist der detaillierte Inhalt vonWie korrigiere ich Fehler in Python-MySQL-Update-Anweisungen?. 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