Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Insertar fecha en campo tipo DATE

Estas en el tema de Insertar fecha en campo tipo DATE en el foro de Mysql en Foros del Web. Buenos dias :) Tengo una base de datos y en ella un campo de fecha que necesito insertar. Para mostrarla en el formulario se muestra ...
  #1 (permalink)  
Antiguo 29/12/2010, 04:43
 
Fecha de Ingreso: febrero-2010
Mensajes: 85
Antigüedad: 14 años, 2 meses
Puntos: 0
Insertar fecha en campo tipo DATE

Buenos dias :)

Tengo una base de datos y en ella un campo de fecha que necesito insertar.

Para mostrarla en el formulario se muestra como dd-mm-aaaa,
pero para guardarla en la BD la convierto en aaaa-mm-dd.

El cambio de formato me sale bien, lo hago en php con:

Código PHP:
$dia=implode("-"array_reversepreg_split("/\D/"$fecha) ) ); 
Si muestro por pantalla el valor de $dia lo veo bien, por ejemplo 2010-12-29

El problema es que no me lo guarda en el campo que es de tipo DATE, en cambio si lo pongo de tipo VARCHAR me lo guarda perfectamente.

¿Como puede ser que no me lo guarde si lo tengo en el formato correcto?

Muchas gracias por vuestra ayuda!!!!! un saludo y Feliz Navidad XD
  #2 (permalink)  
Antiguo 29/12/2010, 05:19
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Insertar fecha en campo tipo DATE

Lo mejor que puedes hacer es, antes de enviar el INSERT a la tabla, realizar un echo con la variable donde poner la consulta. De esa forma te aseguras que la estructura sea correcta.
Por otro lado (como no pones el código no lo podemos saber), sin duda debes recordar que la fecha, en la sentencia debe quedar encerrada entre apóstrofes:
Código MySQL:
Ver original
  1. INSERT INTO tabla(fecha) VALUES('2010-12-29');
de lo contrario se producirá un ingreso erróneo porque MySQL intentará poner 1969, que es el resultado de la resta: 2010 - 12 - 29 = 1969
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: date, tipo, fechas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:32.