MySQL veritabanında seçme, ekleme ve güncelleme dışında bir de silme işlemi yapmaktayız yoğun olarak elbet. Ancak bu sorgularımızdaki titizliği, silme sorgularımızda göstermiyoruz. Tek sorgu ile birden fazla tabloda silme yapabilecek olmamıza karşın, bunu birden fazla sorgu ile yapmayı tercih ediyoruz.
Web sitemize üye alımı yaptığımızı kabul edelim. Tüm üye hesap bilgileri db_uye tablomuzda, ve üyelerin profil bilgileri ise db_uye_data tablosunda yer alsın. Ana tabloda benzersiz üye numarsı ID, ve profil tablosundaki eşdeğeri ise uyeID sütunu olsun.
Gün gelip 125 ID numaralı üyeyi silmek istersek,
DELETE FROM db_uye WHERE ID=125 DELETE FROM db_uye_data WHERE uyeID=125
sorgularını kullanmak olmaz. Ancak genelde böyle kullanırız bizler. Ama gelin onu tek sorguya indirelim ve artık alttakini kullanalım.
DELETE bu, bud FROM db_uye AS bu, db_uye_data AS bud WHERE bu.ID=bud.uyeID AND bu.ID=125
Gördüğünüz gibi birbirlerine benzersiz üye numarası ile ilişkili olan her iki tablodan da silme işlemini yaptık. Buradaki tablo sayısını, tabloların ilişki durumlara göre elbet de çoğaltabilirsiniz.
Bu yazı 20 Eylül 2008, 10:35 tarihinde yazılmış olup bu zamana kadar 495 kez görüntülenmiştir
En son ise 3 Ekim 2008, 16:52 tarihinde güncellenmiştir
Bu yazı 2 adet yorum almıştır ve bunların tamamı görüntülenmektedir.
ah şu sql ah şu mysql ne kadar cok sevdıgım 2 şey ![]()
uzun zamandır ben bu kodu kullanıyorum.. özellikle kategori sil kısımlarını kullandıgımda ıcerık ıcınde kategori idsine ait olan verileride sildiriyorum
yane işe yarar bir kod her zaman butun projelerimdekullanmışımdır..
Yazdığın bu SQL ipucular benim PHP projelerimden bir çok satırın atılmasına neden oldu. Sanırım benim gibi bir çok kişininde öyle olmuştur. Çok teşekkürler.
Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)