Mam tabelkę typu MEMORY do której robię update'a i jeśli wywołane mysql_affected_rows zwróci 0 to leci insert:
<?php if($fail == 0) { } ?>
Problem jest taki że wartości w update mogą być takie same co w bazie przez co mysql_affected_rows zwraca 0 i leci insert

Nawet pisze w manualu -> http://pl2.php.net/manual/pl/function.mysq...fected-rows.php
Cytat
Podczas operacji UPDATE, MySQL nie aktualizuje kolumn w których nowa wartość jest identyczna z poprzednią. Możliwe jest zatem, że zwrócona przez mysql_affected_rows() liczba nie będzie odpowiadać liczbie wierszy pasujących do zapytania, ale tych, które zostały faktycznie zmienione.
Pytanie jak to ominąć? Czy może dać UNIQUE INDEX na pole id ? (nie jest ono primary keyem)