Ich versuche, eine Zeile in meiner SQL-Datenbank mit Pymysql zu aktualisieren. Um das Ganze pythonischer zu machen, definiere ich die Variablen und die Position, um mit %s
zu aktualisieren. Dies hat für eine Variable funktioniert, aber die andere steigt einen Fehler, den ich nicht verstehe. Dies ist mein Code:Pymysql UPDATE mit% s steigt unbekannter Fehler
with connection.cursor() as cursor:
#sql = "update tf_data set doi=\'"+str(DOI)+"\' where tf_data_id="+str(tf_data_id)+";"
sql = "update tf_data set doi=%(DOI)s where tf_data_id=%(data_id)s"
DOI=DOI
data_id = str(tf_data_id)
cursor.execute(sql)
Anschluss am Anfang des Skripts definiert wurde und bereits gearbeitet hat. Die Variablen sind:
DOI= '10.1371/journal.pone.0151666'
und tf_data_id = 1
wenn ich ausführen, was ich denke, das Kommando in mysql tun sollte es direkt workes:
update tf_data set doi='10.1371/journal.pone.0151666' where tf_data_id='1';
Kann jemand bitte sagen Sie mir, was das Problem in das ist?
das erste Verfahren einen weiteren Fehler gab, die'format() Methode hat seinen Zweck erfüllt, dank nutzen konnte! – MaxS
Was ist der Unterschied zwischen diesen Arten der Aktualisierung mit Pymsql? – MaxS
@MaxS Beide Methoden sollten die gleichen Ergebnisse liefern. Könnten Sie die erste Methode noch einmal ausprobieren? – kvorobiev