моя функция обновления записей в python tkinter с помощью mysql работает некорректно

#python #mysql #tkinter

#python #mysql #tkinter

Вопрос:

Я создал интерфейс, в котором они заполняют ряд форм и сохраняются в базе данных, я сделал кнопку для обновления данных на случай, если пользователь допустил ошибку, и он может ее обновить, но при обновлении он обновляет всех зарегистрированных пользователей, а не только того, которого я зарегистрировал.я выбираю, это должна быть ошибка в запросе, но я новичок в этом

идея состоит в том, чтобы обновить отдельные данные из интерфейса

id_postulante — это автоматически увеличивающееся поле, и оно не является переменной, как остальные поля

 def actualizar(self):
       if self.nombre_var.get()=="" or self.apellido_var.get()=="" or self.cedula_var.get()=="" or self.fdn_var.get()=="" or self.genero_var.get()=="" or self.telefono_var.get()=="" or self.correo_var.get()=="" or self.cargo_aspira_var.get()=="" or self.estado_civil_var.get()=="":
           messagebox.showerror("Error","Seleccion el registro que desea actualizar!!!")
       else:
           con=pymysql.connect(host="localhost", user="root",password="", database="postulantebd")
           cur = con.cursor()
           cur.execute("update postulantes set nombre=%s, apellido=%s, cedula=%s, fdn=%s, genero=%s, telefono=%s, correo=%s, estadoCivil=%s, cargoAspira=%s, direccion=%s,imagen=%s, descripcion=%s,indicador=%s where id_postulante",(
               self.nombre_var.get(),
               self.apellido_var.get(),
               self.cedula_var.get(),
               self.fdn_var.get(),
               self.genero_var.get(),
               self.telefono_var.get(),
               self.correo_var.get(),
               self.estado_civil_var.get(),
               self.cargo_aspira_var.get(),
               self.txt_direccion.get('1.0', 'end-1c'),
               self.blobImagen,
               self.descripcion_var.get('1.0', 'end-1c'),
               self.indicador_var.get('1.0', 'end-1c')
               ))
           con.commit()
           self.foto.grid_remove()
           self.fetch_all()
           self.limpiar()
           con.close()
           messagebox.showinfo("Exelente","Se actualizó correctamente el registro")
 

Комментарии:

1. В чем ошибка?

2. Ошибка не появляется, поскольку она работает, но не так, как должна, вместо обновления только полей одного пользователя, она обновляет поля всех пользователей, я не знаю почему

3. Предложение WHERE должно быть WHERE id_postulante = %s , а затем укажите нужный идентификатор.