• 29-10-2015, 13:09:19
    #1
    Arkadaşlar bu Dublicate Key ile ilgili Türkçe kaynak bulamadımo yüzden konu açma gereği duyuyorum.

    Mysql'de tablom şu şekilde;

    id seri klasor yol


    Örneğin elimde şöyle bir veri var;

    seri:Naruto, klasor:567
    Eğer bu veri tabloda varsa insert yapmamasını istiyorum.


    seri:Naruto, klasor: 568
    Bu veri tabloda yoksa insert yapmasını istiyorum. Update yapmaması da gerekiyor ayrıca.



    Tablo ile ilgili:
    seri:uniqe yapamam.
    klasor:unique yapamam.
    yol:unique yapılabilir.
  • 29-10-2015, 13:11:35
    #2
    önceklikle bu değerlerinin bulunup bulunmadığına dair sorgulayılacaksınız, eğer sorgu sonucu bulunan miktar sıfır ise öyle insert veya update edeceksiniz.
  • 29-10-2015, 18:30:18
    #3
    Şöyle birşey yazdım ama boş dönüyor arkadaşlar hata vermiyor.

    SET @seri=:seri;
    SET @klasor=:gnc9;
    SET @yol=:gnc78;
    INSERT INTO okuma
     SELECT seri,klasor,yol FROM (SELECT @seri AS seri, @klasor AS klasor, @yol AS yol )
      WHERE NOT EXISTS (SELECT seri, klasor FROM okuma WHERE seri=@seri AND klasor=@klasor)
  • 03-11-2015, 10:55:53
    #4
    Insert trigger kullanman gerekiyor. Trigger olarak araştırırsan örnekleri mevcut. Aşağıdaki örneği düzenleyerek deneyebilirsin.

    CREATE TRIGGER TABLOM_INSERT 
    AFTER INSERT ON TABLOM FOR EACH ROW
    BEGIN
    (insert kodunuz)
    END