Şimdi Ara

SQLite3 NOT NULL constraint failed sorunu Python

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
2
Cevap
0
Favori
219
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar;
    Ufak bir program yazmaya çalışıyorum ancak veri tabanında FOREIGN KEY ile PRIMARY KEY bağlantısında sorun yaşıyorum.
    Kodları aşağıya ekliyorum

    Özetle durum şu
    3 tane tablom var

    ##urunler## ##fiyatlar## ##marketler##
    PK *urun_no PK *fiyat_no PK *market_no
    barkod_no fiyat market_adi
    urun_adi FK market_no sube_adi
    FK fiyat_no

    kaydı oluşturmak için ; barkod_no, urun_adi, market_adi, sube_adi, fiyat bilgileri giriliyor.

    Bu sırada oluşan marketler tablosundaki market_no bilgisinin fiyatlar tablosundaki market_no sütununa ,
    fiyatlar tablosundaki fiyat_no bilgisinin urunler tablosundaki fiyat_no sütununa otomatik olarak kaydolmasını istiyorum.


    Bunun için aşağıdaki gibi bir tablo oluşumu yazdım.
    *Kayıt kodları da bir aşağıda.

    Bunu çalıştırıp kaydet dediğimde "sqlite3.IntegrityError: NOT NULL constraint failed: fiyatlar.market_no" hatasını alıyorum.

    Nerede yanlış yaptım yardımcı olabilir misiniz?



    veriler.execute("CREATE TABLE IF NOT EXISTS "
    "marketler(market_no INTEGER PRIMARY KEY AUTOINCREMENT, "
    "market_adi VARCHAR, "
    "sube_adi VARCHAR)")
    veriler.execute("CREATE TABLE IF NOT EXISTS "
    "fiyatlar(fiyat_no INTEGER PRIMARY KEY AUTOINCREMENT, "
    "fiyat FLOA,"
    "market_no INTEGER NOT NULL , FOREIGN KEY (market_no) REFERENCES marketler(market_no))")
    veriler.execute("CREATE TABLE IF NOT EXISTS "
    "urunler(urun_no INTEGER PRIMARY KEY AUTOINCREMENT, "
    "barkod_no VARCHAR, "
    "urun_adi VARCHAR,"
    "fiyat_no INTEGER NOT NULL , FOREIGN KEY (fiyat_no) REFERENCES fiyatlar(fiyat_no))")


    *KAYIT OLUŞTURMAK İÇİN YAZDIĞIM KODLAR

    veriler.execute("INSERT INTO marketler(market_adi, sube_adi) VALUES ('{}', '{}')".format(market_adi.get(), sube_adi.get()))
    veriler.execute("INSERT INTO fiyatlar(fiyat) VALUES('{}')".format(fiyat.get()))
    veriler.execute("INSERT INTO urunler(barkod_no, urun_adi) VALUES ('{}' , '{}')".format(barkod_no.get(), urun_adi.get()))
    baglan.commit()










  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.