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

Sentencia UPDATE mysql

Estas en el tema de Sentencia UPDATE mysql en el foro de Bases de Datos General en Foros del Web. Saludos La siguiente sentencia no me funciona en mysq. La idea es actualizar el campo {lugar} de la tabla {b} si y solo si los ...
  #1 (permalink)  
Antiguo 28/10/2003, 11:35
 
Fecha de Ingreso: octubre-2003
Mensajes: 7
Antigüedad: 20 años, 6 meses
Puntos: 0
Sentencia UPDATE mysql

Saludos

La siguiente sentencia no me funciona en mysq. La idea es actualizar el campo {lugar} de la tabla {b} si y solo si los registros del campo especie en la tabla {a} son iguales a los registros del campo especie en la tabla {b}. La sentencia es:

update b set b.lugar= ( select a.lugar from a where a.especie=b.especie )
  #2 (permalink)  
Antiguo 28/10/2003, 14:33
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola svivar.

Yo me temo que ese tipo de composiciones (select dentro de un update) no son válidas para MySQL. Seguro algún gurú MySQL nos podría aclarar el asunto.

Saludos.
  #3 (permalink)  
Antiguo 28/10/2003, 16:20
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
No se puede y no hace falta colocar un "select" dentro de un "update", por que la sentencia "update" se estructuta así:

Update nombre_tabla Set nombre_campo=valor [Where nombre_campo2=valor]

(Si no colocamos "Where", se cambiarán todos los registros de esa tabla)

Los corchetes [] quieren decir que es opcional colocar lo que está dentro.

Por ejemplo:

Update miembros Set apellido='Narea' Where nombre='Gustavo'
(cambiaría todos los registros de la tabla donde el nombre sea "Gustavo")

Update miembros Set apellido='Narea'
(cambiaría todos los registros de la tabla)

----------

En tu caso, la sentencia quedaría así:

Update b Set b.lugar=a.lugar Where a.especie=b.especie

----------

Saludos.

Gustavo.
__________________
Gustavo Narea.
Venezuela.

Última edición por gustavoang; 28/10/2003 a las 16:31
  #4 (permalink)  
Antiguo 30/10/2003, 17:55
 
Fecha de Ingreso: octubre-2003
Mensajes: 7
Antigüedad: 20 años, 6 meses
Puntos: 0
Saludos Gustavo,

Ostras que no funciona, la sentencia que has enviado la parte del mysql que revisa la se queja con un:
[bio] ERROR 1109: Unknown table 'a' in where clause

Alguna otra salida ?

gracias
  #5 (permalink)  
Antiguo 01/11/2003, 01:32
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola:

La verdad no entiendo porqué no te funciona.

Yo lo veo estructurado bien.
__________________
Gustavo Narea.
Venezuela.
  #6 (permalink)  
Antiguo 30/12/2009, 12:33
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Sentencia UPDATE mysql

Y si intentas con:

update b set b.lugar = a.lugar where a.especie=b.especie;
  #7 (permalink)  
Antiguo 30/12/2009, 13:01
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Sentencia UPDATE mysql

Cita:
Iniciado por prograc2010 Ver Mensaje
Y si intentas con:

update b set b.lugar = a.lugar where a.especie=b.especie;
Creo que llegaste un poquitin tarde a responder ¬_¬
  #8 (permalink)  
Antiguo 30/12/2009, 13:26
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: Sentencia UPDATE mysql

Trata de no despertar muertos.
Ese post tenía 6 años, y el usuario no se ha conectado desde entonces...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 08/07/2010, 19:18
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Sentencia UPDATE mysql

Cita:
Ese post tenía 6 años, y el usuario no se ha conectado desde entonces...
jajaja
  #10 (permalink)  
Antiguo 02/03/2011, 08:10
 
Fecha de Ingreso: marzo-2011
Mensajes: 1
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sentencia UPDATE mysql

la solución es

update a, b set a.campo1 = a.campo2 where a.campo1=a.campo2;
  #11 (permalink)  
Antiguo 02/03/2011, 08:46
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: Sentencia UPDATE mysql

Hay mucha gente mirando Walking Dead, parece...



Este post está muerto desde hace ocho años... no trates de resucitarlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




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