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

MySQL ADDDATE DATE_ADD sumar días a campo fecha

Estas en el tema de MySQL ADDDATE DATE_ADD sumar días a campo fecha en el foro de Mysql en Foros del Web. Buenas! Estoy haciendo mi portfolio de trabajos web, dentro de estos hay una consola en PHP que va contra dos bases de datos MySQL, el ...
  #1 (permalink)  
Antiguo 14/11/2011, 10:48
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Pregunta MySQL ADDDATE DATE_ADD sumar días a campo fecha

Buenas!

Estoy haciendo mi portfolio de trabajos web, dentro de estos hay una consola en PHP que va contra dos bases de datos MySQL, el tema es que a esas BD se accede solo desde la red de mi trabajo y no desde la web. Para “solucionar” esto hice un dump de estas bases y los coloqué en mi portfolio web. El problema es que estos registros almacenan transacciones financieras con sus respectivas fecha/hora en que fue realizada la transacción.

Lo que necesito hacer es una consulta que me actualice todas las fechas aumentando solo en cantidad de días.

Por ejemplo, si el dump lo hice el 08/10/2011 y la última transacción registrada es a las 2011-10-08 17:55 necesito que, al sumarle 13 días esta última transacción quede como 2011-23-08 17:55.

Intenté con esta consulta pero me da error de sintaxis:

UPDATE transaction SET currentDate = ADDDATE(currentDate, INTERVAL 13 DAY)

¿A alguien se le ocurre algo?

Desde ya muchas gracias!!!
  #2 (permalink)  
Antiguo 14/11/2011, 18:59
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 8 meses
Puntos: 72
Respuesta: MySQL ADDDATE DATE_ADD sumar días a campo fecha

¿No sera que falta el punto y coma (;) al final de la sentencia?
Bueno en realidad no lo creo, tal vez tenga que ver con el uso de mayúsculas, aunque mysql no discrimina entre mayúsculas y minúsculas a veces el sistema sobre el que esta instalado es linux y entonces si puede haber problemas con eso, prueba usando solo letras minúsculas.
Por cierto el formato de fecha es YYYY-MM-DD y no YYYY-DD-MM.
Un saludo.
  #3 (permalink)  
Antiguo 14/11/2011, 19:29
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: MySQL ADDDATE DATE_ADD sumar días a campo fecha

Uno de los problemas puede ser que estás usando palabras reservadas para el nombre de la tabla.
"Transaction" es una palabra reservada que se usa para definir el inicio de una transacción en MySQL, por lo que no debe ser usada para nombres de ningún tipo de objeto.
Una mala costumbre de los usuarios es utilizar denominaciones en inglés, sin tener en cuenta que pueden entrar en conflicto con el lenguaje.
Verifica si ese es el problema cambiando el nombre de la tabla, o bien encerrando el nombre entre acentos inversos, para que no lo tome como comando:
Código MySQL:
Ver original
  1. UPDATE `transaction` SET currentDate = ADDDATE(currentDate, INTERVAL 13 DAY)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 15/11/2011, 06:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: MySQL ADDDATE DATE_ADD sumar días a campo fecha

Cita:
Iniciado por lubtufano Ver Mensaje
¿No sera que falta el punto y coma (;) al final de la sentencia?
Bueno en realidad no lo creo, tal vez tenga que ver con el uso de mayúsculas, aunque mysql no discrimina entre mayúsculas y minúsculas a veces el sistema sobre el que esta instalado es linux y entonces si puede haber problemas con eso, prueba usando solo letras minúsculas.
Por cierto el formato de fecha es YYYY-MM-DD y no YYYY-DD-MM.
Un saludo.
Por lo de punto y coma no es y por las mayúsculas tampoco.
Lo que dices de YYYY-MM-DD y no YYYY-DD-MM es correcto, es un error mio al hacer el ejemplo, quice poner 2011-08-10 17:55 -> 2011-08-23 17:55

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Uno de los problemas puede ser que estás usando palabras reservadas para el nombre de la tabla.
"Transaction" es una palabra reservada que se usa para definir el inicio de una transacción en MySQL, por lo que no debe ser usada para nombres de ningún tipo de objeto.
Una mala costumbre de los usuarios es utilizar denominaciones en inglés, sin tener en cuenta que pueden entrar en conflicto con el lenguaje.
Verifica si ese es el problema cambiando el nombre de la tabla, o bien encerrando el nombre entre acentos inversos, para que no lo tome como comando:
Código MySQL:
Ver original
  1. UPDATE `transaction` SET currentDate = ADDDATE(currentDate, INTERVAL 13 DAY)
La denominación "transaction" fue solo a modo de ejemplo, la tabla tiene otro nombre (que no es una palabra reservada). De todas formas muchas gracias por la intención de ayudar
  #5 (permalink)  
Antiguo 15/11/2011, 07:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: MySQL ADDDATE DATE_ADD sumar días a campo fecha

Solucionado, intenté con esto:
UPDATE transaction SET currentDate = DATE_ADD(currentDate, INTERVAL 13 DAY)
y funcionó!

Etiquetas: adddate, date_add, fecha, php, registros, sql, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:29.