• 12-08-2022, 17:04:42
    #1
    Merhaba arkadaşlar

    Php ile veri ekliyorum Mysql veri tabanına.

    urun_kodu sütünü benzersiz olarak ayarlı.

    Şimdi ben ürünleri tekrar eklerken Uncaught mysqli_sql_exception: Duplicate entry hatası alıyorum.
    Ama eklediğim içerik 10k satır farz edelim ilk satır hata verdiği için diğerlerini taramıyor.
    Yapmak istediğim şudur benzer içerik varsa atlasın benzersiz olanları eklesin. Hata da takılı kaldığı için diğer satırları tarayamıyorum.




               if ($satirsay>10000000)
    {
    echo "Bu ürün daha önce kaydedilmiş";
     
    } else{
        
                
                
    $sqlekle="INSERT INTO urunler( urun_kodu,urun_adi)
    VALUES ('$stock->stok_kodu','$stock->stok_kodu')";
    
    
    $sonuc=mysqli_query($baglan,$sqlekle);
     
    if ($sonuc==0)
    echo "Eklenemedi, kontrol ediniz<br>";
    else
    echo "Başarıyla eklendi<br>";
    };
  • 12-08-2022, 17:07:15
    #2
    REPLACE INTO kullanın.
  • 12-08-2022, 17:15:37
    #3
    Androsoft adlı üyeden alıntı: mesajı görüntüle
    REPLACE INTO kullanın.
    Yeni satır zaten mevcutsa, REPLACE ifadesi ilk önce eski satırı siler ve sonra yeni bir satır ekler.

    Şimdi aynı ürünü bulduğunda silip yeni ekleyecek? Yoksa bulduğu ürünü pas mı geçecek?


    Denedim fakat eski kayıtları siliyor.
  • 13-08-2022, 03:06:27
    #4
    insert ignore kullanabilirsiniz. incelemek isterseniz, bu tarz işlemleri kolayca yapabileceğiniz şöyle bir pdo query builder sınıfım mevcut; https://github.com/mlevent/pdb#insert
  • 13-08-2022, 03:15:54
    #5
    ghergedan adlı üyeden alıntı: mesajı görüntüle
    insert ignore kullanabilirsiniz. incelemek isterseniz, bu tarz işlemleri kolayca yapabileceğiniz şöyle bir pdo query builder sınıfım mevcut; https://github.com/mlevent/pdb#insert
    Çözüm bence de insert ignore.
  • 13-08-2022, 10:48:28
    #6
    ghergedan adlı üyeden alıntı: mesajı görüntüle
    insert ignore kullanabilirsiniz. incelemek isterseniz, bu tarz işlemleri kolayca yapabileceğiniz şöyle bir pdo query builder sınıfım mevcut; https://github.com/mlevent/pdb#insert
    blap adlı üyeden alıntı: mesajı görüntüle
    Çözüm bence de insert ignore.
    Çok teşekkürler INSERT IGNORE INTO ile çözüldü.