Du er stødt på en af irritationerne ved at skrive dynamiske databaseforespørgsler:værdier skal om nødvendigt anføres med anførselstegn, som udført af forbindelsespakken, men tabel- og kolonnenavne , hvis de er citeret, citeres med backticks. Se MySQL-reglerne .
Du skal tilføje kolonnenavnet ved hjælp af strengformatering, og derefter sende værdien til en forberedt sætning:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))