Re: Update or add?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Brian Dunning wrote:
I have a table where I want to update each record with today's date as it's hit, or add the record if it's not in there:

+------+-----------------+------------+
|  id  |  creation_date  |  last_hit  |
+------+-----------------+------------+

I'm trying to do this with a minimum of hits to the db, so rather than first searching to see if a matching record is in there, I thought I'd just go ahead and update the matching record, check to see if it failed, and if it failed then add a new one, like this:

$id = $_GET['id'];
// Update
$query = "update table set last_hit=NOW() where id='$id'";
$result = mysql_query($query);
// Add
if(the update failed) {
$query = "insert into table (id,creation_date,last_hit) values ('$id',NOW(),NOW())";
  $result = mysql_query($query);
}

What's the fastest way to check if the update failed?

You have a few options as others have pointed out, but I'll post this as an option anyway.


Other db's don't have replace into or the "on duplicate key" option either, so you'd need to do something like this:

$query = "update ..";
$result = mysql_query($query);
if (mysql_affected_rows($result) == 0) {
// do the insert.
}


--
Postgresql & php tutorials
http://www.designmagick.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux