Bạn đã gặp một trong những điều khó chịu khi viết các truy vấn cơ sở dữ liệu động: giá trị phải được trích dẫn, nếu cần, với dấu ngoặc kép, như được thực hiện bởi gói trình kết nối, nhưng tên bảng và cột , nếu được trích dẫn, được trích dẫn bằng dấu gạch ngược. Xem quy tắc MySQL .
Bạn cần thêm tên cột bằng cách sử dụng định dạng chuỗi, sau đó chuyển giá trị vào một câu lệnh đã chuẩn bị:
stmt = f'UPDATE employees SET `{dbFields[x]}` = 1 WHERE id = %s;'
cursor.execute(stmt, (itemsEmployee[1].text,))