27/08/2006, 15:37
|
| | Fecha de Ingreso: enero-2006 Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 19 años 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 |