Podczas pisania dynamicznych zapytań do bazy danych napotkałeś jedną z niedogodności:wartości muszą być ujęte w cudzysłów, jeśli to konieczne, w cudzysłowie, tak jak w pakiecie oprogramowania sprzęgającego, ale nazwy tabel i kolumn , jeśli są cytowane, są cytowane z zaznaczeniem. Zobacz zasady MySQL .
Musisz dodać nazwę kolumny za pomocą formatowania ciągu, a następnie przekazać wartość do przygotowanej instrukcji:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))