Při psaní dynamických databázových dotazů jste narazili na jednu z nepříjemností:hodnoty musí být v případě potřeby uvedeny v uvozovkách, jak to provádí balíček konektoru, ale názvy tabulek a sloupců , jsou-li uvozovány, jsou uvozovány zpětným zaškrtnutím. Viz pravidla MySQL .
Musíte přidat název sloupce pomocí formátování řetězce a poté předat hodnotu do připraveného příkazu:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))