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()