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

ayuda en sintaxis UDPDATE

Estas en el tema de ayuda en sintaxis UDPDATE en el foro de Bases de Datos General en Foros del Web. Buenas a todos, tengo una duda en el uso del update.....en la que me piden hacer lo siguiente: LAS PELICULAS EN CARTELERA DE MAS DE ...
  #1 (permalink)  
Antiguo 18/12/2009, 13:53
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
De acuerdo ayuda en sintaxis UDPDATE

Buenas a todos, tengo una duda en el uso del update.....en la que me piden hacer lo siguiente:

LAS PELICULAS EN CARTELERA DE MAS DE UN MES DE HABER SIDO ESTRENADAS Actualizarlas a ESTADO NORMAL

Ahora tengo las siguientes tablas:

Tabla estado_peliculas, en la cual esta cada uno de los estados: normal, dañada, etc

Código:
create table ESTADO_PELICULAS
(
   COD_EST_PEL          char(1) not null,
   NOM_EST_PEL          char(25),
   primary key (COD_EST_PEL)
);
Tabla peliculas:
Código:
create table PELICULAS
(
   COD_PEL              char(2) not null,
   NOM_PEL              varchar(25),
   FEC_EST_PEL          date,
   primary key (COD_PEL)
);
Tabla estado_de_la_pelicula: en la cual se guarda el codigo de la pelicula con los respectivos codigos de estado

Código:
create table ESTADO_DE_LA_PELICULA
(
   COD_EST_PEL          char(1) not null,
   COD_PEL              char(2) not null,
   primary key (COD_EST_PEL, COD_PEL)
);
La consulta la he planteado de la siguiente forma, pero me muestra error en la sintaxis

Código:
UPDATE estado_de_la_pelicula SET COD_EST_PEL="1" WHERE peliculas.fec_est_pel < 2009-12-01;
es decir q me actualice en la tabla estado de la pelicula al estado normal teniendo en cuenta que en la tabla peliculas, aquellas que tienen una fecha de estreno inferior al 1 de diciembre de 2009,

sI SE PUEDE planetar asi?...me podrian decir donde tengo el error....
  #2 (permalink)  
Antiguo 18/12/2009, 14:09
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: ayuda en sintaxis UDPDATE

para asignar un numero no debes poner comillas

Código SQL:
Ver original
  1. UPDATE estado_de_la_pelicula SET COD_EST_PEL = 1 WHERE peliculas.fec_est_pel < 2009-12-01

no veo mayor error
nos cuentas como te va...
__________________
Mi Bosque de Sombras Solo Doom Metal!

por favor use esta etiqueta para publicar su código --->[HIGHLIGHT]
  #3 (permalink)  
Antiguo 18/12/2009, 15:00
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: ayuda en sintaxis UDPDATE

Código MySQL:
Ver original
  1. UPDATE estado_de_la_pelicula
  2. SET COD_EST_PEL=1
  3. WHERE fec_est_pel < '2009-12-01';

Estabas comparando una fecha con una resta (2009 - 12 - 1);
Además, estás actualizando la tabla estado_de_la_pelicula, pero el campo fec_est_pel pertenece a la tabla peliculas, la cual no estás invocando en ninguna parte.
__________________
¿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 18/12/2009, 17:05
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: ayuda en sintaxis UDPDATE

es decir, debo tener el campo fec_est_pel en la tabla estado_de_la_pelicula???

mientras no lo tenga ahi, la actualizacionn no se pude hacer???
  #5 (permalink)  
Antiguo 18/12/2009, 17:15
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: ayuda en sintaxis UDPDATE

Mientras no esté allí, el MySQL no lo encuentra. Te dará error de "Undefinied table in WHERE".
¿Cómo quieres que sepa MySQL de dónde saca esa tabla y como se vincula con la primera, si no la pones en la consulta?
MySQL todavía no tiene funciones telepáticas

Si el valor está en otra tabla, debes hacer un UPDATE usando JOIN:
Código MySQL:
Ver original
  1. UPDATE estado_de_la_pelicula  E INNER JOIN pelicula P ON E.id_pelicula = P.id_pelicula
  2. SET E.COD_EST_PEL=1
  3. WHERE P.fec_est_pel < '2009-12-01';
__________________
¿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 18/12/2009, 17:35
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: ayuda en sintaxis UDPDATE

muchas gracias...si me sirvio de esa forma.............
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 05:11.