Benim şuan 4 adet tablom var. Bunlar birbiriyle kendi içlerinde ilişkili.
Birinci Tablom Kitap İkinci Tablom Kitap_Detay
Üçünü tablom Raf, dördüncü tablım raf_detay.
Şimdi sorunum şu master olan kitap tabloma kitap barkod adlı satıra girilen barkod detay tabloma işleniyor. Daha sonra raf'a barkodu okutup kaydet dediğimde kitap detaydaki verilerie raf detay tabloma yine o barkod numarasıyla ilişklendirip taşımak istiyorum.
Tablo yapıları şöyle
Master Kitap KID (int AI) Kitap Ad (varchar) Barkod (varchar)
X tablosuna insertion yapildiginda, foreign key kullanarak Y tablosunda cekilen verilerin Z tablosuna kaydedilmesini istiyorsun di mi, yanlis anlamiyorum degil mi? Bunu database seviyesinde MySQL trigger kullanarak yapabilirsin. Yani Master Raf ( X ) a inser yapildiginda, RafKodu FK kullanilarak Kitap detay tablosundan ( Y ) veri cekilecek ve bu da Detailed Raf detaya ( Z ) aktarilacak.
Ancak ben senin yerinde olsam, uygulama katmaninda bunu halleder, trigger kullanmadan 2 tane insertion birden yapardim Cascade kullanarak. Daha okunabilir ve yonetilebilir olur o sekilde.
X tablosuna insertion yapildiginda, foreign key kullanarak Y tablosunda cekilen verilerin Z tablosuna kaydedilmesini istiyorsun di mi, yanlis anlamiyorum degil mi? Bunu database seviyesinde MySQL trigger kullanarak yapabilirsin. Yani Master Raf ( X ) a inser yapildiginda, RafKodu FK kullanilarak Kitap detay tablosundan ( Y ) veri cekilecek ve bu da Detailed Raf detaya ( Z ) aktarilacak.
Ancak ben senin yerinde olsam, uygulama katmaninda bunu halleder, trigger kullanmadan 2 tane insertion birden yapardim Cascade kullanarak. Daha okunabilir ve yonetilebilir olur o sekilde.
Phprunner kullanıyorum ve bunu bende düşündün fakat events kısmında ne yazık ki böyle bir ekleme çıkartma yapmam mümkün değilmiş belki ilerleyen sürümlerde mümkün olabilirmiş. Bu bakımdan en zayıf olduğum trigger konusunda yardımcı olabilir miisn ?
Php bilgim yok ama asp de olsa mantiken soyle olabilirdi algoritma basitce
Sql="select parkod from kitapdetay where barkod='gelen barkod'" If tabloadi.eof then --eslesen yok Else Raf detay tablosuna sql execute ile iliskili verileri alarak insert et. End if
Ekleme: raf detay tablosunda ki sutunlari insert ederken degisken seklinde cekip yazdirmalisin
< Bu mesaj bu kişi tarafından değiştirildi extremespecific -- 24 Ağustos 2018; 2:10:23 >
Sorunum şu
Benim şuan 4 adet tablom var. Bunlar birbiriyle kendi içlerinde ilişkili.
Birinci Tablom Kitap İkinci Tablom Kitap_Detay
Üçünü tablom Raf, dördüncü tablım raf_detay.
Şimdi sorunum şu master olan kitap tabloma kitap barkod adlı satıra girilen barkod detay tabloma işleniyor.
Daha sonra raf'a barkodu okutup kaydet dediğimde kitap detaydaki verilerie raf detay tabloma yine o barkod numarasıyla ilişklendirip taşımak istiyorum.
Tablo yapıları şöyle
Master Kitap
KID (int AI)
Kitap Ad (varchar)
Barkod (varchar)
Detailed Kitap_Detay
KDID (int AI)
Yazar (varchar)
BasimT (date)
Yayinci (varchar)
Barkod (varchar)
RafKodu (varchar)
Şimdi kitap ve kitap detay tabloları barkod üzerinden zaten bir birine bağlı
Şimdi istiyorum ki aşağıda master raf'a barkodu okutup kaydet düğmesine basınca raf detay tablosuna kitap detay tablosunda ki eşleşen barkod numarasındaki verileri taşısın.
Master Raf
RID (int AI)
RafT (date)
Barkod (varchar)
Operator (varchar)
Detailed Raf_detay
RAID (int AI)
Yazar (varchar)
BasimT (date)
Yayinci (varchar)
Barkod (varchar)
RafKodu (varchar)
Bu konuda yardımcı olabilecek biri var mı ? Phpmyadmin'de trigger olsa harika olur.