Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
280
Tıklama
0
Öne Çıkarma
SQLite3 NOT NULL constraint failed sorunu Python
E
7 yıl
Er
Konu Sahibi

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



DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.