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

Problema con UPDATE...

Estas en el tema de Problema con UPDATE... en el foro de Mysql en Foros del Web. Tengo una tabla en la que se deben actualizar ciertos registros, primero hago un select para poner en pantalla aquellos registros que cambian(socios): Código PHP: ...
  #1 (permalink)  
Antiguo 25/02/2010, 13:11
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema con UPDATE...

Tengo una tabla en la que se deben actualizar ciertos registros, primero hago un select para poner en pantalla aquellos registros que cambian(socios):

Código PHP:
$selecciona=mysql_query("SELECT id_socio, CONCAT(Apellido, ', ' , Nombre) AS Nombre, Num_socio FROM socios WHERE DATE_SUB( CURDATE( ) , INTERVAL 18 YEAR ) >= Fecha_nac
AND DATE_SUB( CURDATE( ) , INTERVAL 3 YEAR ) >= Fecha_Ingreso"
); 
este codigo funciona bien y me devuelve los valores correctos pero cuando hago un update con los mismos parametros no funciona...

Código PHP:
$actualiza=mysql_query("UPDATE socios SET Id_categoria=30 WHERE DATE_SUB( CURDATE() , INTERVAL 18 YEAR ) >= Fecha_nac
AND DATE_SUB( CURDATE( ) , INTERVAL 3 YEAR)>=Fecha_Ingreso  AND Sexo=0 "
); 
Alguna idea??
  #2 (permalink)  
Antiguo 25/02/2010, 13:17
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, 5 meses
Puntos: 2658
Respuesta: Problema con UPDATE...

Si no te devuelve un error, pero no hace la modificación es que no encuentra registros que cumplan con la condición:
Código MySQL:
Ver original
  1. UPDATE socios
  2. SET Id_categoria=30
  3.   DATE_SUB(CURDATE(), INTERVAL 18 YEAR) >= Fecha_nac
  4.   AND
  5.   DATE_SUB(CURDATE(), INTERVAL 3 YEAR) >= Fecha_Ingreso
  6.   AND Sexo=0;
__________________
¿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 25/02/2010, 13:19
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con UPDATE...

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si no te devuelve un error, pero no hace la modificación es que no encuentra registros que cumplan con la condición:
No me devuelve error pero si hay registros que cumplan con la condicion porque me los muestra el SELECT que hice antes del update...
  #4 (permalink)  
Antiguo 25/02/2010, 13:30
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, 5 meses
Puntos: 2658
Respuesta: Problema con UPDATE...

¿Y cuando repites el select, no hay registros cuyo id_categoria sea 30?
Entonces debe forzosamente haber un error no detectado.
¿Qué valor tevuelve la ejecución de la consulta en PHP?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 25/02/2010, 14:53
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con UPDATE...

0 fila(s) fueron afectadas...

Código mysql:
Ver original
  1. SELECT id_socio, CONCAT(Apellido, ', ' , Nombre) AS Nombre, Num_socio FROM socios WHERE DATE_SUB( CURDATE( ) , INTERVAL 18 YEAR ) >= Fecha_nac
  2. AND DATE_SUB( CURDATE( ) , INTERVAL 3 YEAR ) >= Fecha_Ingreso AND Id_categoria!=30

Código mysql:
Ver original
  1. UPDATE socios SET Id_categoria=30 WHERE DATE_SUB(CURDATE() , INTERVAL 18 YEAR) >= Fecha_nac
  2. AND DATE_SUB(CURDATE(), INTERVAL 3 YEAR ) >= Fecha_Ingreso AND Id_categoria!=30 AND Sexo=0
Tenía mal el select me faltó ponerle el id_categoria != 30...
igual no me anda
  #6 (permalink)  
Antiguo 25/02/2010, 15:05
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con UPDATE...

yA LO SOLUCIONÉ!!
estaba mal el select...ando mal dormido y demoro un raaato en darme cuenta de las cosas, gracias!

Etiquetas: 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 15:36.