Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/04/2014, 18:58
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: ¿Por qué MySQL en vez de guardar el año guarda el número 127?

Cita:
Pero por alguna razón extraña, al ver el contenido de la BD, mediante una consulta o por phpMyAdmin, veo que el campo anio no contiene la fecha introducida, digamos 1979, sino siempre un 127
No es ninguna razón extraña. Es simplemente que has cometido dos errores:
1) Declaraste el año como TINYINT con signo, lo que hace que su rango de representación sea de -128 a + 127. Muy mala elección para un número que almacenará años...
2) Creaste tres campos para un dato que se almacena en uno sólo. Las fechas se deben almacenar en campos DATE, DATETIME o TIMESTAMP, pero no deben almacenarse en campos separados. Es un desperdicio de recursos y resulta ineficiente para las consultas.

Para corroborar lo que digo, hagamos una cosa: Ejecutaa esto y postea el resultado:
Código MySQL:
Ver original
  1. SHOW CREATE TABLE `mi_bd`.`mi_tabla`
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)