Duplicate Key MySQL Ekle

1 Cevap php

Ben bir değerlendirme sistemi inşa ediyorum ve name alanı does not zaten name i eklemek istediğiniz içeriyorsa ben, yeni bir satır eklemek istiyorsanız, ve eğer o var yok, ben 1 ile count alanını artırmak istiyor

I bir satır varsa Örneğin, name 'Tom ve ben name' Tom, sonra i +1 istediğiniz başka bir satır eklemek için deneyin alan için count zaten mevcut satırda.

name 'Tom' ile bir satır yoksa, ben bir yenisini eklemek ve count 1'e set istiyorum.

Ben yaklaşık 3 SQL deyimleri ve bazı if ifadeleri ile bu yapabileceğini biliyorum, ama 2/3 sql komutları idam ediliyor gibi bu senaryoyu yavaşlatmak istiyorsunuz.

Any ideas? Thanks!

1 Cevap

bkz INSERT ... ON DUPLICATE KEY UPDATE

If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, an UPDATE of the old row is performed.

örneğin

INSERT INTO table (name,counter) VALUES ('Bob', 1)
  ON DUPLICATE KEY UPDATE counter=counter+1