Jenom bych podotknul, že v tomto případě (pes je jednoznačně určen svým id) by se dal určitě použít i MYSQL příkaz REPLACE
http://dev.mysql.com/doc/refman/5.0/en/replace.htm l
jenž má výhodu, že se nemusíme rozhodovat mezi INSERT INTO a UPDATE.
Ale také nevýhody, které jsou popsány zde :
http://php.vrana.cz/replace.php
Na rozdíl od článečku nejsem tak kategorický a příkaz používám, jenom je třeba zmapovat předem, zda nebude někdy nutné přidávat další UNIQUE klíč apod.
Databáze psíků je, myslím, klasický případ, kdy REPLACE lze použít.
REPLACE ale není v každém SQL, např. v databázi Caché, v níž pracuji nyní ( tam je to řetězcová funkce). Podrobný přehled neznám, ale stačí pohled do dokumentace konkrétní databáze.
Pokud REPLACE zamítneme, lze použít INSERT INTO ON DUPLIKATE KEY
http://dev.mysql.com/doc/refman/5.0/en/insert-on-d uplicate.html
se stejnou výhodou.