MySql – Foreign Key Kontrolünü – Kısıtlamalarını Kapatmak

Standard

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;

Devamını Oku..