Yo no dije que no haya funciones de sumar fechas. Lo que digo es que no puedes hacerlo en forma
automática desde el SQL sin usar EVENT. Pero los objetos EVENT sólo existen desde la versión 5.1.x, por lo que si usas MySQL 5.0.x no puedes crearlos; y aún hay muchos hosting que no usan el 5.1.x
Volviendo al problema planteado por RenacidoJH, ten en cuenta lo que plantea:
Cita: (...)en esta tabla se insertan datos de visita de un usuario a un lugar, en una fecha y hora determinada... dejando el cambio final nulo, indicando que la persona no ha salido... pero resulta que despues de un tiempo (24 horas por ej.) yo quiero que automaticamente se llene el campo final... de tal forma que la diferencia maxima entre inicio y final sea de 24H.
Como dije, quiere que se haga automáticamente, sin intervención del usuario, y eso no se puede hacer a menos que tenga la versión de MySQL que digo antes.
Cita: Otra opcion seria que antes de yo volver a insertar un registro que sea del mismo user, se verifique si existe algun registro sin final de este user y se llene el final, antes de hacer la nueva insercion.
Eso se puede hacer o por programación o por stored procedure, pero aún en el caso del SP, debe hacerse la llamada por programación.
Respecto al rango de representación, si a un DATETIME le sumas 24 horas, pero contiene la hora 00:00:00, pasará de día, y la hora seguirá siendo 00:00:00... ¿Se entiende eso? En la realidad, no existe la hora 24... en ninguna parte de la Tierra, porque esa es la hora cero de otro día.
En cuanto a las funciones de fecha y hora, MySQL tiene más funciones dedicadas a eso que las que posee Oracle, y mucho más detalladas, en algunos aspectos.