Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/08/2006, 15:37
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 4 meses
Puntos: 5
Buenas, si querés hacerlo de esa forma, lo que podrías hacer es lo siguiente:

1º) Insertás el nuevo comentario normalmente, con INSERT INTO etc

2º) Averiguás la cantidad de registros que tiene la tabla con SELECT COUNT:

--> algo así:

SELECT COUNT(*) AS Total
FROM mensajes ;

3º) Te fijás cuántos resultados trajo esa consulta. Si es mayor a 20, pongamos, hacés un delete del registro más viejo. ¿Cómo sabés cuál es el más viejo? Va a ser el que tenga el id (autoincremental) más bajo. También limitás ese delete a 1.

Esta rutina la vas a ejecutar cada vez que insertás un nuevo mensaje, así que sabés que el máximo posible de mensajes en la tabla va a ser 21, justo después de hacer un insert.

O sea que sólo tendrías que borrar 1, el más viejo, si el total de mensajes es mayor a 20.

Quedaría algo así:

DELETE FROM mensajes
ORDER BY id_mensaje
LIMIT 1;

(el order by no sé si es absolutamente necesario, porque por defecto ordena por la clave primaria, pero por las dudas...)


Suerte
Califa