MySQL tablosuna ekleme veya varsa güncelleme

Bir veritabanı tablosuna bir satır eklemek istiyorum, ancak aynı benzersiz anahtara sahip bir satır varsa satırı güncellemek istiyorum.

Örneğin,

insert into table (id, name, age) values(1, "A", 19)

Diyelim ki benzersiz anahtar id ve veritabanımda id = 1 olan bir satır var. Bu durumda o satırı bu değerlerle güncellemek istiyorum. Normalde bu bir hata verir. Eğer insert IGNORE kullanırsam hatayı görmezden gelir, ancak yine de güncelleme yapmaz.

Çözüm

Kullan INSERT ... ON DUPLICATE KEY UPDATE

SORU:

INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
name="A", age=19
Yorumlar (23)

REPLACE'e göz atın

http://dev.mysql.com/doc/refman/5.0/en/replace.html

REPLACE into table (id, name, age) values(1, "A", 19)
Yorumlar (7)

Şunu bir dene:

INSERT INTO table (id, name, age) VALUES (1, 'A', 19) ON DUPLICATE KEY UPDATE id = id + 1;

Umarım bu yardımcı olur.

Yorumlar (6)