Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2009, 04:17
davchess
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 4 meses
Puntos: 4
Un delete ... Raro

Buenas, no se me ocurre como hacer esto, a ver si me dais una idea de por donde tirar.

Yo tengo un chat, pongamos que tengo esta tabla :

id
chat
mensaje

El campo chat es por idchat, hay digamos 10 chat, cada chat con sus mensajes propios y con sus cosas.

Yo en el chat unicamente muestro los ultimos 20 mensajes, asi que pense, pues nada tengo que poner que cuando un usuario entra en el chat automaticamente me borre los mensajes a partir del 20 ... y ahi es mi lio. ¿Como hago esto?.

Explico mejor :

1 - Mensaje a
2 - mensaje B
3 - Mensaje C
.
.
.
.
.
21 - Mensaje AA
22 - Mensaje BB

En mi chat solo mostrare del 22 al 2, el 1 ya no deberia mostrarlo y deberia borrarlo pero ¿como hago esto en un mysql?.

Podria recorrer el sql y saber el id que tengo que borrar y demas pero lo suyo es hacerlo solo en un sql y la verdad no caigo como hacerlo.

Pense en algo asi :


delete from chat where id < (select max(id) from chat where chat = id_chat limit 0,21) and chat = id_chat

Pero claro no me va XD