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

[SOLUCIONADO] mantener fecha

Estas en el tema de mantener fecha en el foro de Mysql en Foros del Web. tengo el siguiente campo (lo edito con PHPMYADMIN) fecha tipo: timestamp atributos: on update CURRENT_TIMESTAMP predeterminado: CURRENT_TIMESTAMP Cuando yo agrego un registro, la fecha de ...
  #1 (permalink)  
Antiguo 01/08/2015, 00:24
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
mantener fecha

tengo el siguiente campo (lo edito con PHPMYADMIN)
fecha
tipo: timestamp
atributos: on update CURRENT_TIMESTAMP
predeterminado: CURRENT_TIMESTAMP

Cuando yo agrego un registro, la fecha de creación se genera automáticamente con este formato 2015-08-01 02:42:08
Ahora yo quisiera que cuando EDITE ese dato desde una interfaz PHP, la fecha esa se mantenga, no que se actualice al dia que se edito el archivo. Hay alguna manera de impedir eso? porque cuando lo edito se cambia la fecha y se pone la ultima edición.
  #2 (permalink)  
Antiguo 01/08/2015, 06:13
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: mantener fecha

A la hora de editar, no editar la fecha, de esa manera no se actualizaría. También mantener un campo oculto con la fecha y asi se actualizaria a la fecha existente.

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #3 (permalink)  
Antiguo 01/08/2015, 07:06
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: mantener fecha

no estoy cambiando el campo fecha en la actualizacion. Pasa que al ser
tipo: timestamp
atributos: on update CURRENT_TIMESTAMP
predeterminado: CURRENT_TIMESTAMP

se actualiza solo. Hay alguna manera de impedir esto?
  #4 (permalink)  
Antiguo 01/08/2015, 14:12
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: mantener fecha

Cada vez que se actualice algún campo se debe indicar que se mantenga la fecha ya almacenada, por ejemplo.

update tabla set campo1="nuevo", fecha=fecha where campo1="anterior";

O también está la opción de crear un nuevo campo sin el atributo on update CURRENT_TIMESTAMP

Saludos.

Última edición por lubtufano; 01/08/2015 a las 14:29
  #5 (permalink)  
Antiguo 01/08/2015, 17: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: mantener fecha

Cita:
Iniciado por Fernarey1810 Ver Mensaje
tengo el siguiente campo (lo edito con PHPMYADMIN)
fecha
tipo: timestamp
atributos: on update CURRENT_TIMESTAMP
predeterminado: CURRENT_TIMESTAMP

Cuando yo agrego un registro, la fecha de creación se genera automáticamente con este formato 2015-08-01 02:42:08
Ahora yo quisiera que cuando EDITE ese dato desde una interfaz PHP, la fecha esa se mantenga, no que se actualice al dia que se edito el archivo. Hay alguna manera de impedir eso? porque cuando lo edito se cambia la fecha y se pone la ultima edición.
Lo primero que debes hacer, antes que nada es no usar phpMyadmin para editar datos. Eso es una muy mala decisión, porque estás confiando en una interfaz que no sabes como está programada y qué tan correctamente funciona... como en este caso.
Si quieres usar una interfaz para editar datos de MySQL (recordar que phpMyadmin no es MySQL), te recomiendo algo mejor: MySQL Workbech, que al menos es nativo.
Por lo demás, cuando muestras lso datos desde el PHP, simplemente los formateas como los quieres, pero para almacenarlos, las fechas deben siempre entrar como AAAA-MM-DD HH:MI:SS.
¿Eso te queda claro?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 01/08/2015, 18:47
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: mantener fecha

No vivo de esto aclaro por las dudas. Solo estoy haciendo un pequeño sistema para un conocido.
Si te fijas mas adelante puse que almacene la fecha con el siguiente formato: 2015-08-01 02:42:08
Y en cuanto a PHPMYADMIN es una herramienta que viene junto a WAMP y es muy utilizada nose que salis con eso de que es mala decisión...:S
  #7 (permalink)  
Antiguo 01/08/2015, 18:49
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: mantener fecha

Tal vez por tener mas de diez años de experiencia en Bases de Datos.
¿No lo has pensado?

PhpMyadmin es una herramienta limitada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 01/08/2015, 18:53
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: mantener fecha

yo no vivo de esto solo es un favor que le hago a alguien nada mas. para un proyecto sencillo phpmyadmin+WAMP es mas que suficiente
  #9 (permalink)  
Antiguo 01/08/2015, 21:51
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: mantener fecha

Si pides ayuda a gente experimentada en un foro donde vienen a colaborar personas que tienen tiempo en el tema, es natural que obtengas respuestas y observaciones que apuntan a que mejores la metodología que usas.
No nos incumbe por qué o para quien haces el trabajo, y no es relevante. Pero si vas a usar herramientas inadecuadas para ciertas cosas, es nuestra obligación moral decirtelo. No te ofendas tan livianamente por lo que se te dice, y tomalo como de alguien que conoce un poco más que tu.
En todo caso, antes que ofenderte, podrías haber preguntado por qué lo dije (un poco más gentilmente), y te hubiese respondido que phpMyadmin es una herramienta de uso general para acceder en un modo amigable a MySQL, pero que no es un fornt-end dedicado a la administración de datos, por lo que su interacción con MySQL si lo usas para eso es proclive a tener errores como los que mencionas.
No es habitual usar phpMyadmin para hacer altas - bajas - modificación de datos, porque con ella no puedes controlar las reglas de validación que necesitas para las aplicaciones. No puedes agregarle lógica de la capa de negocio, y por ende no es una buena herramienta.
Por otro lado, todos nosotros ya sabemos que viene incluida en diferentes paquetes. Pero eso no la hace la mejor. Solo las mas difundida.
Y su meta sigue siendo otra, y no hacer de entrada de datos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 02/08/2015, 07:21
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: mantener fecha

esto era lo que necesitaba. pero no se te ocurrio decirmelo, se ve que sabes mucho

Código MySQL:
Ver original
  1. Tabla con un campo timestamp que toma un valor de fecha automático tanto en inserciones como actualizaciones
  2. mysql> CREATE TABLE tabla_ejemplo1 (
  3. );
  4. Query OK, 0 rows affected (0.09 sec)
  5. Tabla con un campo timestamp que toma un valor de fecha automático tanto en inserciones pero NO en actualizaciones
  6. mysql> CREATE TABLE tabla_ejemplo2 (
  7. );
  8. Query OK, 0 rows affected (0.03 sec)
  9. Tabla con un campo timestamp que toma un valor de fecha automático en actualizaciones pero NO en inserciones
  10. mysql> CREATE TABLE tabla_ejemplo3 (
  11. );
  12. Query OK, 0 rows affected (0.02 sec)

http://cambrico.net/mysql/como-inser...-hora-en-mysql
  #11 (permalink)  
Antiguo 02/08/2015, 07:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: mantener fecha

Cita:
Iniciado por Fernarey1810 Ver Mensaje
esto era lo que necesitaba. pero no se te ocurrio decirmelo, se ve que sabes mucho

http://cambrico.net/mysql/como-inser...-hora-en-mysql
Creo que te acabas de dar cuenta de que antes de publicar una pregunta en un foro tienes un mundo de informacion solo a un google de distancia ;), que es lo que se debe de hacer y luego si de plano no encuentras nada preguntar algo puntual en el foro :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #12 (permalink)  
Antiguo 02/08/2015, 08:45
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: mantener fecha

Cita:
Iniciado por Fernarey1810 Ver Mensaje
esto era lo que necesitaba. pero no se te ocurrio decirmelo, se ve que sabes mucho

Código MySQL:
Ver original
  1. Tabla con un campo timestamp que toma un valor de fecha automático tanto en inserciones como actualizaciones
  2. mysql> CREATE TABLE tabla_ejemplo1 (
  3. );
  4. Query OK, 0 rows affected (0.09 sec)
  5. Tabla con un campo timestamp que toma un valor de fecha automático tanto en inserciones pero NO en actualizaciones
  6. mysql> CREATE TABLE tabla_ejemplo2 (
  7. );
  8. Query OK, 0 rows affected (0.03 sec)
  9. Tabla con un campo timestamp que toma un valor de fecha automático en actualizaciones pero NO en inserciones
  10. mysql> CREATE TABLE tabla_ejemplo3 (
  11. );
  12. Query OK, 0 rows affected (0.02 sec)

http://cambrico.net/mysql/como-inser...-hora-en-mysql
Ok... Pero sólo dos observaciones:
1) Eso que haces no es lo que dices que quieres hacer:
Cita:
Cuando yo agrego un registro, la fecha de creación se genera automáticamente con este formato 2015-08-01 02:42:08
Ahora yo quisiera que cuando EDITE ese dato desde una interfaz PHP, la fecha esa se mantenga, no que se actualice al dia que se edito el archivo. Hay alguna manera de impedir eso? porque cuando lo edito se cambia la fecha y se pone la ultima edición.
Usando eso, la fecha no se mantendrá, a menos que puntualmente se lo indiques en el UPDATE.
Si quieres mantener la fecha cuando editas un registro, deberás programar, y no usar el phpMyadmin, que fue tu pregunta incial.

2) ¿Estás teniendo en cuenta que luego, si el formulario lo manejas en una pagina web, la fecha que se insertará será no será la del navegador, es decir la PC del usuario, sino la del servidor donde está alojada la base de datos?
Esto último implicaría que si el servidor de la base está en Los Angeles, (EEUU), y tu estás en Montevideo (Uruguay) ,por ejemplo, el dato se almacene con una discrepancia de más de cuatro horas respecto de la del usuario... ¿Consideraste si eso te puede afectar?
__________________
¿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: campo, fecha, php, registro, update
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 18:58.