Ben yabancı tuşlarını kullanarak büyük bir hayranıyım ve kimsesiz veri ile dolu olan benim veritabanı tutmak bile küçük projeler üzerinde bunları kullanmak için bir eğilim var olduğunu söyleyerek başlamak istiyorum. Veri 10 katmanları - büyük projelerde ben 8 yukarı kapsayan sona tuşları Gobs ile sonuna kadar.
Ben Herkes son kullanıcı için anlamlı mesajlar kurabileceği bir şekilde MySQL veritabanı 'beklenen hataları' ele zarif bir yol önermek eğer bilmek istiyorum. Ben bir örnek 'ile beklenen hataları' açıklayacağız.
Ben temel tartışmalar için kullanılan tablolar seti var diyelim:
discussion
questions
responses
users
Hiyerarşik muhtemelen böyle bir şey olacaktır:
-users
--discussion
---questions
----responses
Bir kullanıcıyı silmek çalıştığınızda FKs tartışmaları kontrol edecek ve herhangi bir tartışma silme soruları silme, tartışma çekler soruları silme, kısıtlı varsa yanıtları denetler. Bu durumda bir 'beklenen hata' Bir kullanıcıyı silmek için çalışıyor olurdu - onlar yeni bir ya da daha fazla yabancı anahtarlar bir hataya neden başarısız olacağını tahmin oluşturduğunuz sürece.
Ne yapmak İSTİYORUM silinmesi o hatayı yakalamak ve benzeri son kullanıcı bir şey söylemek mümkün değildir 'Üzgünüz, ancak bu kullanıcıyı silebilirsiniz önce tüm tartışmalar kaldırılması gerekir ...'.
Şimdi ben tutmak ve korumak eşleşen diziler PHP ve iletilerine özgü hataları eşleyebilirler biliyorum ama bu dağınık ve durgun olma eğilimli, ya da ben elle silme denemeden önce seçtiği bir dizi çalıştırabilir, ama sonra ben gibi yapıyorum FKS kullanmadan gibi çok iş.
Herhangi bir yardım büyük takdir ya da ben sadece bu tamamen yanlış bakıyorum eğer bana bildirin lütfen olacaktır.
Bir yan not Ben genelde uygulama geliştirme için CodeIgniter'ı kullanmak, böylece o çerçeve ile bir yol açmak istiyorum eğer cevapları düşünün lütfen.
Şimdiden teşekkürler