Aslında Türkçe mesleki anlamda kullanmak bence sağlıklı olmayabiliyor herzaman. Bu konuyu aratan kimsenin foreign key kısıtlaması diyeceğini zannetmiyorum 🙂
Disable Foreign Key Checks or Constraints desek daha sağlıklı olacaktı bence konu başlığına..
İlişkisel veritabanları ile çalışmaya başladığınız zaman hayatınıza foreign key adında yeni bir kavram girecek.
Ve ilişkili dataları kaydederken size ilişiği olan tablodaki kayıt yoksa veya başka yerde kullanılan bir datayı silmeye çalıştığınız zaman şöyle bir hata döndürür sistem:
Cannot add or update a child row: a foreign key constraint fails
Bu durumda ya deveyi güdeceksiniz yada diyardan gideceksiniz diye düşünebilirsiniz ama Hatalı kaydı bulmak bazen zor olabiliyor.
Ben size 3 satırda bu kontrol işlemini kapatmayı göstereceğim..
SET foreign_key_checks = 0; DELETE FROM users WHERE id > 45; SET foreign_key_checks = 1;
Yukarda önce pasif ettik, silme işlemini yaptık ve tekrar aktif ettik gördüğünüz gibi.. Bunun yerine foreign_key i kaldırmak ta düşünülebilirdi ama en temizi zaten sırasıyla bu işlemleri yaparak hiç bu yollara baş vurmamanız..
ALTER TABLE users DROP FOREIGN KEY <foreign_key_name>
Yukarda da foreign_key kaldırmayı gösterdiğimize göre makalemizi sonlandırabiliriz 🙂
İyi çalışmalar herkese..
This arictle is a home run, pure and simple!
bu ne anlam geliyor? kodu yazdimda bu yerini tam anlamadim. Rica etsem bunu bana örnekle göstere bilirmisiniz?
Yani ne anlama geldiği de ne işe yaradığı da örnek de var zaten yazımın içinde… Okumadan direk yorum mu yazdınız anlayamadım?