Я создал базу данных с 3 столбцами (идентификатор, имя, цена), и поскольку я не могу отобразить все столбцы в списке, я отображаю только столбец «имя», поэтому я хочу иметь возможность удалить элемент в базе данных на основе имени продукта, который я нажимаю в списке. вот код, надеюсь, он поможет:
import tkinter
from tkinter import *
import mysql.connector
root = Tk()
root.geometry('700x500')
con = mysql.connector.connect(user = '', password = '', host = '127.0.0.1', database = 'anime')
concursor = con.cursor()
concursor.execute('select * from prod')
query = concursor.fetchall()
l = Listbox(root)
for x,y,z in query:
l.insert(x+1, y)
l.pack(anchor='w')
#function to delete prod
def delp():
sel_items = l.curselection()
for item in sel_items:
concursor.execute("delete from prod where name = ('{}')".format(item))
con.commit()
button1 = Button(root, text = 'prod del', command = delp)
button1.pack(anchor='w')
root.mainloop()
, а это изображение базы данных: введите описание изображения здесь
код python работает, только если я заменяю «name» на «id» в запросе в функции «delp», однако, когда я выбираю 1-й элемент в списке, он удаляет 2-й элемент в базе данных, и я хочу иметь возможность удалять по имени.