• 17-03-2008, 22:20:47
    #1
    insert into if not exist fonksiyonunu mssql de kullanabildiğimizi biliyorum ama o kadar seach etmeme rahmen bu fonksiyonun mysql de ki karşılığını bulamadım

    istediğim şu adi ve sayadi kolonları var ve ben şunu istiyorum

    inset into if not exist ( selsect * from tablo where adi='john' and soyadi='simit' ) values ......

    gibi bi fonksiyon adı john ve soyadı simit olan kaytı varsa ekleme yapma demek istiyorum ama yapamıyorum.

    bu işlemi iki sorgu ile değilde tek bi satırda çözmek istiyorum insert ignore işime yaramadı dublicate key update de işimi görmedi
  • 17-03-2008, 22:41:59
    #2
    Eğer veriyi girdiğiniz alanı unique olarak seçerseniz aynı kayıtdan bir daha giremezsiniz.
  • 17-03-2008, 22:47:45
    #3
    insert into ......... WHERE NOT EXISTS (SELECT * FROM tablo WHERE where adi='john' and soyadi='simit' ) ?
  • 17-03-2008, 23:05:44
    #4
    PhpForever adlı üyeden alıntı: mesajı görüntüle
    Eğer veriyi girdiğiniz alanı unique olarak seçerseniz aynı kayıtdan bir daha giremezsiniz.
    hocam adı alanını unuque olarak giremem çünkü aynı addan bi kaçtane olabilir soyadı için de öyle
  • 17-03-2008, 23:13:00
    #5
    Haymac adlı üyeden alıntı: mesajı görüntüle
    insert into ......... WHERE NOT EXISTS (SELECT * FROM tablo WHERE where adi='john' and soyadi='simit' ) ?
    bunun yerine
    insert into ..... where adi<>'john' and soyadi<>'simit'
    denedim olmadı malesef

    yok mu bunu bilen babayiğit yok bulamıyom ingilizce kaynaklarda da bulamadım
  • 18-03-2008, 00:09:27
    #6
    ingilizce kaynaklarda bu var malesef
  • 18-03-2008, 00:30:12
    #7
    Haymac adlı üyeden alıntı: mesajı görüntüle
    ingilizce kaynaklarda bu var malesef
    nasıl böyle emin konuşabiliyorsun ki
    emin konuşuyorsunki bulmuşsun
    bulmuşsun madem neden paylaşmıyon ayıp
    ben bulamadım ama yaptıkları şeyler hep uniqu verilerde ignore ile hatayı ayıklama yanlış mı aradım naptım bilmiyom
  • 12-01-2010, 12:47:14
    #8
    Çok eski bir konu olmasına rağmen google üzerinden ulaştığım ve soruma yanıt bulamadığım için sorunun cevabını benden sonraki ziyaretçilerin faydalanması açısından yazma gereği hissediyorum.

    Tablo yapısı;
    CREATE TABLE `tablo` (
    `alan1` varchar(350) NOT NULL,
    `alan2` enum('1','0') NOT NULL,
    UNIQUE KEY `alan1` (`alan1`)
    )

    Sorgu:
    INSERT IGNORE INTO VALUES('alan1','alan2');

    Sonuç:
    alan1 alanına yapılan kayıtlar tablonun yapısı gereği uniq yani tekil olmak zorundadır ve bu yüzden insert "ekleme" yaparken hata vermesi durumunda IGNORE ile bu hata önlenir ve kayıt önceden eklenmişse eklenmez, yoksa yeni kayıt tabloya eklenir..