Hey guys,
I'm looking for an efficient method of executing the following pseudo-code in mysql.
if (exist row where id == $id) {
UPDATE table SET value = '$value' WHERE id = '$id';
} else {
INSERT INTO table (id, value) VALUES ('$id', '$value');
}I thought there was a MySQL statement called INSERT UPDATE, but I must be mistaken. What's the easiest way to achieve this?
serpico
Web design and development from i am root

Shaggy posted this at 14:45 — 17th February 2009.
They have: 114 posts
Joined: Dec 2008
"INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;"
http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
Cheers,
Shaggy.
pr0gr4mm3r posted this at 14:56 — 17th February 2009.
He has: 1,423 posts
Joined: Sep 2006
Didn't know that was possible. I always used the conditional method that serpico posted. I will have to remember this.
PHP Starter
serpico posted this at 21:14 — 17th February 2009.
They have: 120 posts
Joined: Aug 2008
cool - i'll give that a go.
serpico posted this at 08:20 — 18th February 2009.
They have: 120 posts
Joined: Aug 2008
Works perfect. Thanks Shaggy!
altweb posted this at 03:58 — 23rd March 2009.
They have: 14 posts
Joined: Nov 2005
Thats going to save a lot of time! I should be reading the mysql docs instead of the forums. Thanks for the tip!
n1tr0b posted this at 12:22 — 24th April 2009.
They have: 5 posts
Joined: Apr 2009
Thanks to this thread it really helped me.... for updating some of my content
LisaRole posted this at 22:12 — 8th May 2009.
They have: 19 posts
Joined: Feb 2009
I tried to follow, It didn't work for me.
Megatron posted this at 18:07 — 21st May 2009.
They have: 2 posts
Joined: May 2009
You have to have a relatively newer MySQL server... I think on duplicate key became available on mysql 4.1
adairace posted this at 12:44 — 23rd December 2009.
They have: 2 posts
Joined: Dec 2009
i think shaggy has posted the most exact answer near to me.
i really appreciate his little effort.