Typický příklad. Máme tabulku, kam ukládáme nějaké záznamy o činnosti uživatele. Tentokrát třeba návštěvu vlákna ve fóru, spolu s časem a počtem příspěvků ve vláknu.
Pokud takový záznam neexistuje (vázaný na ID uživatele a ID vlákna), tak vytvoříme nový záznam (INSERT), jinak provedeme aktualizaci záznamu (UPDATE), tedy čas a počet příspěvků.
Nabízí se několik možností, jak tento proces provést.
Možnost A
- Zjistit, jestli záznam existuje (SELECT COUNT(*)…)
- Pokud existuje, provést aktualizaci (UPDATE)
- Pokud neexistuej, vložit nový (INSERT)
Všetři tři kroky uzavřeme do stransakce (viz Jakub Vrána).
Možnost B
- Provést aktualizaci (UPDATE)
- Zjistit počet ovlivněných řádků (mysql_affected_rows())
- Pokud „nula“ (záznam neexistuje), tak provedeme vložení nového (INSERT)