Completamente adicionando 1 ao valor da linha anterior?

Eu quero adicionar 1 ao valor da linha anterior para hit_count , mas tenho medo de fazer isso pode não ser seguro se várias consultas estiverem sendo executadas rapidamente (ou seja, a página está sendo carregada várias vezes por segundo – isso é para uma web – estou fazendo, e eu quero garantir que todas as cargas da página sejam bem suportadas).

Aqui estava o que eu tinha em mente:

 $result = mysql_query("SELECT * FROM rotation"); $fetch = mysql_fetch_assoc($result); $update_hit = $fetch['hit_counter']+1; $query = "INSERT INTO rotation (hit_counter, rotation_name) VALUES ('$update_hit', '$rotation_name')"; $result = mysql_query($query); 

Pensei em configurar a coluna hit_counter para uma UNIQUE KEY hit_counter , mas não sei o que mais eu faria depois disso.

Eu usaria AUTO_INCREMENT mas o problema é que eu preciso do valor real do hit_counter no resto do script.

Todas as ideias, comentários, conselhos serão muito apreciados!

Editar: usei hit_count e hit_counter , era um erro de digitação. Atualizado para evitar qualquer confusão.

Você pode usar a funcionalidade DUPLICATE KEY quando faz com que name + counter seja um valor exclusivo:

 INSERT INTO rotation SET hit_counter = 1, rotation_name= 'name' ON DUPLICATE KEY UPDATE hit_counter = hit_counter + 1 

Desempenho sábio (e se os seus requisitos o permitirem) Eu conselho empurrando atualizações em massa (por 100 hits) usando um mecanismo de cache como fe memcached.

Você pode usar AUTO_INCREMENT , se você precisar do ID inserido no script restante, você pode usar mysql_insert_id para obtê-lo.