Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/06/2013, 11:47
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Problema con update en mysql

Hola MagoMarlon:

Lo que quieres hacer, lo vas a tener que hacer por partes, o meterlo en un procedimiento almacenado. El primer UPDATE no funciona porque no es posible utilizar la función MAX dentro de la sección WHERE de una consulta, ya que este es un campo calculado que existe sólo hasta que se termina de ejecutar la consulta...

La segunda consulta no funciona porque no puedes utilizar la misma tabla que vas a actualizar dentro de una subconsulta, porque se crea un conflicto.

http://dev.mysql.com/doc/refman/5.0/...ry-errors.html

Intentalo así:

Código MySQL:
Ver original
  1. UPDATE sicoa.propuesta T1
  2. (SELECT   max(id_propuesta) max_id
  3. FROM   sicoa.propuesta  
  4. WHERE  numero_propuesta = 45) T2 ON T1.id = T2.max_id
  5. SET ultimo_status=7

Otra solución sería que hagas la consulta en dos partes, por un lado obtener el MAX(id_propuesta) que quieres actualizarlo y almacenarlo en una variable y utilizar esa variable en el UPDATE.

Haz la prueba y nos comentas.

Saludos
Leo.