在 python 中对数据库使用 if 语句

Using if statement with database in python

veri = sqlite3.connect('IBCKayıt')
v = veri.cursor()

v.execute("SELECT numsıra FROM kayıtlar WHERE EXISTS(SELECT * FROM kayıtlar WHERE numsıra)")
record = v.fetchall()

if numaraentry.get() in record:
    messagebox.showinfo("UYARI","Bu IBC Zaten Var")

if numaraentry.get() not in record:
    v.execute("INSERT INTO kayıtlar VALUES (:numsıra, :koruyucutarih, :numunedurumm, :kullandurumm)",
        {'numsıra':numaraentry.get(),
         'koruyucutarih':tarıhgırıs,
         'numunedurumm':secılmıs1.get(),
         'kullandurumm':secılmıs.get()
        })
    messagebox.showinfo("UYARI","Kayıt İşlemi Başarılı.")


veri.commit()
veri.close()

我想让它在输入相同的数据时发出警告,但是当我输入相同的数据时它不发出警告。您认为解决方案是什么?

-我是表格的新手,我想我不知道如何打开话题,抱歉。

您的第一个查询没有多大意义;你会想在那里使用 WHERE

类似

veri = sqlite3.connect("IBCKayıt")

num = numaraentry.num()

v = veri.cursor()

v.execute("SELECT numsıra FROM kayıtlar WHERE numsıra = ? LIMIT 1", (num,))
records = v.fetchall()

if records:  # had a matching row, show error
    messagebox.showinfo("UYARI", "Bu IBC Zaten Var")
else:
    v.execute(
        "INSERT INTO kayıtlar VALUES (:numsıra, :koruyucutarih, :numunedurumm, :kullandurumm)",
        {
            "numsıra": num,
            "koruyucutarih": tarıhgırıs,
            "numunedurumm": secılmıs1.num(),
            "kullandurumm": secılmıs.num(),
        },
    )
    veri.commit()
    messagebox.showinfo("UYARI", "Kayıt İşlemi Başarılı.")

veri.close()

应该可以解决问题。