Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Sentencia UPDATE mysql (http://www.forosdelweb.com/f21/sentencia-update-mysql-161801/)

svivar 28/10/2003 11:35

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 )

Kaopectate 28/10/2003 14:33

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.

gustavoang 28/10/2003 16:20

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.

svivar 30/10/2003 17:55

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

gustavoang 01/11/2003 01:32

Hola:

La verdad no entiendo porqué no te funciona.

Yo lo veo estructurado bien.

prograc2010 30/12/2009 12:33

Respuesta: Sentencia UPDATE mysql
 
Y si intentas con:

update b set b.lugar = a.lugar where a.especie=b.especie;

darkasecas 30/12/2009 13:01

Respuesta: Sentencia UPDATE mysql
 
Cita:

Iniciado por prograc2010 (Mensaje 3222747)
Y si intentas con:

update b set b.lugar = a.lugar where a.especie=b.especie;

Creo que llegaste un poquitin tarde a responder ¬_¬

gnzsoloyo 30/12/2009 13:26

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...

razengan 08/07/2010 19:18

Respuesta: Sentencia UPDATE mysql
 
Cita:

Ese post tenía 6 años, y el usuario no se ha conectado desde entonces...
jajaja

biblioteca 02/03/2011 08:10

Respuesta: Sentencia UPDATE mysql
 
la solución es

update a, b set a.campo1 = a.campo2 where a.campo1=a.campo2;

gnzsoloyo 02/03/2011 08:46

Respuesta: Sentencia UPDATE mysql
 
Hay mucha gente mirando Walking Dead, parece...

http://www.blogacine.com/wp-content/...93qRAjm3YU.jpg

Este post está muerto desde hace ocho años... no trates de resucitarlo.


La zona horaria es GMT -6. Ahora son las 10:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.