MySQL

MySQL ile INSERT ON DUPLICATE KEY UPDATE komutunu kullanmak nasıl bir şey? Bu komutu bilmeyenlerin aklında hemen soru işaretleri oluşmuştur. Emin olun harika bir şey :) Hatta bu zamana kadar size neden açıklamamışım, şaşırdım doğrusu :)

3 yorum Beğen Paylaş MySQL ile Insert On Duplicate Key Update

MySQL ile INSERT ON DUPLICATE KEY UPDATE

Bu komutu hem veri girişi hem de aynı tabloda güncelleme yapmak istediğimizde kullanıyoruz. Buna en güzel örnek ise günlere göre tutulan istatistikler oluyor.

Küçük bir örnek verelim hemen. Web sitemde aranan kelimeleri günlere göre kaydetmek istiyorum. Kolonlarım ise: kelime, arama_sayi, en_son_arama, sonuc_sayi şeklinde. Amacım basit. Aranan kelimeyi alıyorum ve bu kelime ile elde edilen sonuç sayısı ile birlikte tabloya ekliyorum. Buraya kadar basit. Bundan sonra aynı kelime her arandığında, arama_sayi kolonundaki rakamı +1 yükseltmek istiyorum. Bu işlem için 2 farklı sorguya gerek yok.

INSERT INTO aranan_kelimeler (kelime, arama_sayi, en_son_arama, sonuc_sayi) VALUES ('$aranan', 1, NOW(), '$sonucsayi') ON DUPLICATE KEY UPDATE arama_sayi = (arama_sayi+1)

İşte bu kadar. Tek sorgu ile, 2 farklı sorguda yapılabilecek kayıt ya da güncelleme işlemini tamamladım.

Tabi unutmadan :) kelime + en_son_arama ; UNIQUE türünde olmalıdır.

26 Mart 2009, 08.45 tarihinde yayınlanmış
Bu yazı 3 adet yorum almıştır ve bunların 3 ile 0 arası görüntülenmektedir. Yorumları RSS ile takip edebilirsiniz.
| 28 Mart 2009 , 18:06
#3

Çok faydalı bir bilgi olmuş teşekkür ederim eline sağlık.

| 26 Mart 2009 , 10:09
#2

hiçbir fikrim yok, her iki şekilde de kullanıp denemen lazım. ancak yukarıdaki daha az olacaktır bence. çünkü kullanacağın satır sayısı azalacaktır bu yolla ;)

m3hm3t
| 26 Mart 2009 , 09:22
#1

peki sorguyu bu şekilde yaptığımızda kazanacağımız bellek miktarı ne kadardır acaba?

promosyon Oyunlar prefabrik Düşük fiyat listesi |Teknolojik Ürünler| promosyon promosyon
seo Ertan Dönmez Godaddy Promo Codes Reklam Ver! Reklam Ver! Reklam Ver! Reklam Ver!
© 2005 - 2010 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.
Dmry.net Vital Teknoloji tarafından desteklenmektedir
yukarı dön