4.5/5 Görüntülenme: 4288

Mysql iki tablodan veri Silmek

Mysql ilişkili veri silme

Mysql de iki ayrı tablodaki veriyi tek sql satırında silmek için basitçe ilişkilendirme kodu kullanarak silme işlemi yapıyoruz. Manual olarak 2 ayrı satırlarla yapılan işlemlerde herzaman sorun yaşayabilirsiniz.

Örneğin:

$delete=mysql_query("DELETE FROM languages WHERE ID='$ID'");
$delete=mysql_query("DELETE FROM categories WHERE LID='$ID'");

bu şekilde yaptığımız silme işleminde 1. satırda silme işi yapılırken tarayıcı kapatılsa,internet kesilse, elektirikler gitse, bilgisayar kapansa vb.. herhangibir aksilikte 2. silme gerçekleşmez ve sistemde karışıklık çıkar.

Bu şekilde alt alta 10 tablo için  10 satır olursa risk dahada artar. Bu yüzden aşağıdaki şekilde ilişkilendirilmiş silme işlemi kullanmamız daha sistematik ve kullanışlı olacaktır.

$delete=mysql_query("DELETE l, c FROM languages l, categories c WHERE l.ID='$ID' AND c.LID='$ID'");

Burada DELETE den sonra harflerle değişken atamış oluyoruz. FROM dan sonrada o harfleri tablo isimlerine eşitliyoruz. WHERE den sonra işlem yaparkende örneğin c tablosundaki LID eşitse $ID ye sil diyoruz.

Bu ilişkili silme örneği şunun içindir: Sınırsız dil seçeneği olan bir sistemde kategorileri languages tablosuna kaydediyoruz. Silerkende hem categories hemde languages tablolarından sil diyoruz. Amaç categories bölümünden silinen veri dil kütüphanemizde gereksiz yere kalmaması. Tek Sql satırında istediğimiz tabloarın içindeki bölümleri temizleyebiliriz.

İlişkili Tablodan Veri Silme


Konu (122) ile ilgili admin @ limitsizbilgi.com adresine E-mail gönderebilirsiniz. İsa Şahintürk