Hai riscontrato uno dei fastidi nello scrivere query di database dinamiche:valori deve essere riportato, se necessario, tra virgolette, come eseguito dal pacchetto connettore, ma nomi di tabelle e colonne , se quotati, sono quotati con backtick. Consulta le regole MySQL .
È necessario aggiungere il nome della colonna utilizzando la formattazione della stringa, quindi passare il valore a un'istruzione preparata:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))