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.
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
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)