Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2012, 07:55
Avatar de Adrii952
Adrii952
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 13 años
Puntos: 7
Problema con Autoincrement al usar ON DUPLICATE KEY UPDATE

Buenas, verán, acabo de ponerle a mi página un contador de visitas privado que se almacena en MySQL. Se almacena la IP, la cantidad de visitas y la fecha de la última visita.

La tabla tiene 4 columnas:
id (AUTO_INCREMENT),
IP (VARCHAR 15),
cantidad (INT),
fecha_ultima_visita (CURRENT_TIMESTAMP & ON UPDATE CURRENT_TIMESTAMP)

Quería hacerlo todo con una sola consulta así que uso esto actualmente:

mysql_query("INSERT INTO visitas (IP, cantidad) VALUES ('".$_SERVER['REMOTE_ADDR']."','1') ON DUPLICATE KEY UPDATE cantidad=cantidad+1");

El primer problema que tuve es que en vez de actualizarse la cantidad al visitar la misma IP, creaba una nueva fila, problema que solucioné indicando que la columna 'IP' fuera única. Ahora al visitar la misma IP la página, se suma 1 a la columna de cantidad pero misteriosamente el Autoincrement de la columna id sube aunque no se haya insertado ninguna fila nueva.

¿Alguien sabría cómo solucionar esto?
Si no lo hago con 2 consultas y listo.

Gracias

Última edición por Adrii952; 16/08/2012 a las 08:00