Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/01/2011, 12:32
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con el almacenamiento de la fecha (hora)

Para mi es evidente que esa tabla tiene el problema de que ese campo no debería ser VARCHAR sino BIGINT UNSIGNED. No sólo porque de esa forma sólo necesitas 8 Bytes y no 25 para el dato, sino que evitas que metan datos incorrectos, como es en tu caso.
Además, también está mal poner '18:33:49', porque si están usando una función FROM_UNIXTIME() para leer el dato, esta función no es un TIME sino un DATETIME, por lo que para que sea válido debes poner el valor en segundos desde el 01/01/1970 hasta el momento del elemento a guardar. Lo que tienes que hacer, entonces, es guardar el dato con la función UNIX_TIMESTAMP(fecha) para obtener el valor correcto. Al hacerlo así se da que:
Código MySQL:
Ver original
  1. mysql> SELECT UNIX_TIMESTAMP('2011-01-13 18:33:49');
  2. +---------------------------------------+
  3. | UNIX_TIMESTAMP('2011-01-13 18:33:49') |
  4. +---------------------------------------+
  5. |                            1294954429 |
  6. +---------------------------------------+
  7. 1 row in set (0.00 sec)
Como puedes ver, no es '18:33:49' lo que debes guardar, sino 1294954429
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)