Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Python - SQL Connector:Update funktioniert nicht

Sie sind auf einen der Ärgernisse beim Schreiben dynamischer Datenbankabfragen gestoßen:Werte müssen ggf. in Anführungszeichen gesetzt werden, wie es das Connector-Paket vornimmt, aber Tabellen- und Spaltennamen , falls zitiert, werden mit Backticks zitiert. Siehe die MySQL-Regeln .

Sie müssen den Spaltennamen mit Zeichenfolgenformatierung hinzufügen und den Wert dann an eine vorbereitete Anweisung übergeben:

stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))