Du har stött på ett av irritationsmomenten med att skriva dynamiska databasfrågor:värden måste citeras, om nödvändigt, med citattecken, som utförs av anslutningspaketet, men tabell- och kolumnnamn , om de citeras, citeras med backtick. Se MySQL-reglerna .
Du måste lägga till kolumnnamnet med strängformatering och sedan skicka värdet till en förberedd sats:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))