$sql = "TRUNCATE TABLE `kitaplar`";
merhaba arkadaşlar truncate işlemi veritabanını tamamen boşaltıyor ben türü genel olani silmesini istemiyorum sorum sadece truncate içindir
where tur="genel" olarak eklesem silmesini engeller mi?
truncate işleminde bu kullanılabiliyor mu?
5
●62
- 25-01-2023, 00:05:01Evet, "WHERE tur='genel'" kısmını TRUNCATE sorgusuna eklerseniz sadece "genel" türündeki kayıtlar silinmeyecektir.
Örnek
"TRUNCATE TABLE kitaplar WHERE tur='genel'" gibi.
ama delete kullanman daha doğru olur dostum - 25-01-2023, 00:24:46DiZiNi adlı üyeden alıntı: mesajı görüntüle
- 25-01-2023, 00:27:06evet truncade tablo bazlı işlem için geliştirilmiş bi komut o yuzden hızlı şekilde tablolarla ilgili işlemleri halleder.
- 25-01-2023, 00:28:57DiZiNi adlı üyeden alıntı: mesajı görüntüle
yoksa deleteye dönücem
çok teşekkürler - 25-01-2023, 00:32:56evet veriye FOREIGN KEY adında bişr bağımlılık atarsın.
Bu sayedeveriye bağlı olan diğer veriler silinmeden önce silinmesi gerektiği için hata oluşur.
birde
veritabanında TRIGGER adı verilen işlemler de kullanılabilir, bu işlemler veri silinmeden önce veya sonra yapılacak işlemleri tanımlayabilir.
veritabanında verilerin sabit kalmasını istiyorsan eğer, veriye bağlı olan diğer verileri silmeden önce "FOREIGN KEY" veya "TRIGGER" gibi özellikler kullanabilrsn