Lepším řešením by bylo nastavit na zdroj jedinečný klíč (kromě automaticky inkrementovaného klíče). Poté použijte INSERT ON DUPLICATE KEY UPDATE
INSERT INTO feeds (name, url, etc, etc2, `update_count`)
VALUES ('name', 'url', 'etc', 'etc2', 1)
ON DUPLICATE KEY UPDATE
`etc` = VALUES(`etc`),
`etc2` = VALUES(`etc2`),
`update_count` = `update_count` + 1;
Výhodou je, že nezvyšujete ID a stále to děláte v jednom atomickém dotazu. Navíc aktualizujete/měníte pouze to, co změnit potřebujete. (Všimněte si, že jsem zahrnul update_count
sloupec, který ukazuje, jak aktualizovat pole)...