insert iff !exist

Started by Patrick Welcheabout 27 years ago2 messagesgeneral
Jump to latest
#1Patrick Welche
prlw1@newn.cam.ac.uk

I'm pretty sure someone already answered this, but the mail archive isn't
very searchable at the moment. How can you

if(update row fails because doesn't exist, ie. returns 0)then(insert row)

in SQL? Or am I misremembering and it was in some other language?

Cheers,

Patrick

#2Karl DeBisschop
kdebisschop@spaceheater.infoplease.com
In reply to: Patrick Welche (#1)
Re: [GENERAL] insert iff !exist

How can you

if(update row fails because doesn't exist, ie. returns 0)then(insert row)

Depends on what interface you are using.

In perl DBI, the return value of the a $dbh->do("update...") should be
the nomber of rows inserted. Same with doing a sequence of
$sth=$dbh->prepare("updated...");
$rc=$sth->execute;
$rc will be the number of rows updated. Then just do the insert if $rc is 0.

In php, you use the function pg_NumRows.

In libpg, the number of rows is obtained from PGntuples after the update;

Karl