• 24-01-2023, 23:59:03
    #1
    Üyeliği durduruldu
    $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?
  • 25-01-2023, 00:05:01
    #2
    Üyeliği durduruldu
    Evet, "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:46
    #3
    Üyeliği durduruldu
    DiZiNi adlı üyeden alıntı: mesajı görüntüle
    Evet, "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
    delete kullanıyorum hocam yerine göre şuanki işlemimi sadece truncate görüyor dediginiz gibi denedim olmadi truncate veritabanını tamamen boşaltıyormuş herhangibi bir koşul saglıyamıyormuşuz sanırım
  • 25-01-2023, 00:27:06
    #4
    Üyeliği durduruldu
    evet 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:57
    #5
    Üyeliği durduruldu
    DiZiNi adlı üyeden alıntı: mesajı görüntüle
    evet truncade tablo bazlı işlem için geliştirilmiş bi komut o yuzden hızlı şekilde tablolarla ilgili işlemleri halleder.
    peki hocam şu konua 1 bilginiz varmı acaba veritabanında 1 veri sabit kalmali truncate çalışsa bile onu silmicek veritabanında böyle bir ayar mevcut mu bilginiz var mı?

    yoksa deleteye dönücem

    çok teşekkürler
  • 25-01-2023, 00:32:56
    #6
    Üyeliği durduruldu
    evet 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