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

Insertar fecha actual en

Estas en el tema de Insertar fecha actual en en el foro de Mysql en Foros del Web. Buenas tengo el siguiente codigo php el cual es ejecutado desde el form y quiero poner la fecha actual del registro en la base de ...
  #1 (permalink)  
Antiguo 29/03/2016, 13:57
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Insertar fecha actual en

Buenas tengo el siguiente codigo php el cual es ejecutado desde el form y quiero poner la fecha actual del registro en la base de datos, ya cree el campo fecha del tipo timestamp y predeterminado current_timestamp


que debo modificar en mi codigo?? ya probe varias formas pero no me inserta la fecha ni los demas campos. probe con poner now() al final


Código MySQL:
Ver original
  1. SELECT dni FROM participante_inscrito WHERE dni = {$dni}

Código MySQL:
Ver original
  1. INSERT INTO participante_inscrito VALUES ({$dni},'{$nombre}','{$apellido}')

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por gnzsoloyo; 29/03/2016 a las 14:19
  #2 (permalink)  
Antiguo 29/03/2016, 14:20
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 actual en

Empecemos por ver exactamente cómo es esa tabla. Desde ya te aclaro que las descripciones no nos sirven de nada, necesitamos ver la creacion misma de la tabla, asi que por favor, ejecuta esto en phpMyadmin y postea el resultado que devuelve:

Código MySQL:
Ver original
  1. SHOW CREATE TABLE participante_inscrito
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/03/2016, 15:11
Avatar de MARKWEB  
Fecha de Ingreso: septiembre-2001
Ubicación: En mi casa
Mensajes: 1.562
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: Insertar fecha actual en

me editaron el codigo cueck... bueno supongo que puedo poner mi DB....
la tabla es:

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `participante_inscrito` (
  2.   `dni` int(10) NOT NULL,
  3.   `nombre` varchar(30) NOT NULL,
  4.   `apellido` varchar(35) NOT NULL,
  5. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  6.  
  7. --
  8. -- Volcado de datos para la tabla `participante_inscrito`
  9. --
  10.  
  11. INSERT INTO `participante_inscrito` (`dni`, `nombre`, `apellido`, `fecha`) VALUES
  12. (123456789, 'Andres', 'Perez', '2016-03-29 19:11:35');
cabe decir que la fecha ingresada y que se ve en el volcado se genero cuando cree el campo "fecha"
__________________
Un MEJOR AMIGO es como un trébol de 4 hojas, DIFÍCIL DE ENCONTRAR y ES DE BUENA SUERTE TENER UNO

Última edición por gnzsoloyo; 30/03/2016 a las 04:30 Razón: adicion de informacion
  #4 (permalink)  
Antiguo 29/03/2016, 16:34
Avatar de Jesrat  
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Respuesta: Insertar fecha actual en

Hermano te esta dando error porque la tabla tiene 4 campos y tu le estas pasando solo 3 valores, ademas no es necesario que le especifiques la fecha ya que a la hora que creaste la tabla le especificaste esto:

Código SQL:
Ver original
  1. `fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

lo que significa que por defecto tomara la hora actual solo debes pasarle el valor nulo para que te funcione intenta asi:

Código SQL:
Ver original
  1. INSERT INTO participante_inscrito VALUES (01,'nombre','apellido',NULL);
  #5 (permalink)  
Antiguo 30/03/2016, 04:35
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 actual en

La solución es exactamente la que te indica Jersat. Con eso debería bastar para evitar el problema de la inserción.
Otra posibilidad (más ortodoxa y segura) es indicar puntualmente los campos que estás ingresando:
Código MySQL:
Ver original
  1. INSERT INTO participante_inscrito(dni, nombre, apellido) VALUES (01,'nombre','apellido');
Cualquiera de las dos funcionará.

LO que si te puedo observar es que no estás definiendo una PK en la tabla, y eso es un error de los MUY GRAVES.
Toda tabla TIENE que tener clave primaria. No se puede soslayar, a menos que quieras que tu tabla se transforme en una bolsa de datos basura. No es una broma, así se la suele mencionar en las clases de bases de datos de la universidad.
Al no tener una PK, no existe forma de verificar que no haya duplicidad de registros, y tampoco puedes usar esa tabla para referenciarla como FK en otra. En otras palabras, pones en riesgo la consistencia de datos y su integridad referencial.
Al menos el DNI debería ser definido como PK.
__________________
¿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: actual, bd, campo, fecha, select, sql
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 23:55.