U bent een van de ergernissen tegengekomen bij het schrijven van dynamische databasequery's:waarden moet worden aangehaald, indien nodig, met aanhalingstekens, zoals uitgevoerd door het connectorpakket, maar tabel- en kolomnamen , indien geciteerd, worden geciteerd met backticks. Zie de MySQL-regels .
U moet de kolomnaam toevoegen met behulp van tekenreeksopmaak en vervolgens de waarde doorgeven aan een voorbereide instructie:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))