Een betere oplossing zou zijn om een unieke sleutel op de feed in te stellen (afgezien van de automatisch verhoogde sleutel). Gebruik dan 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;
Het voordeel is dat je de ID's niet verhoogt, en je doet het nog steeds in één atomaire query. Bovendien update / verander je alleen wat je moet veranderen. (Merk op dat ik de update_count
heb toegevoegd kolom om te laten zien hoe u een veld bijwerkt)...