Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/12/2008, 08:54
SebasSebas
 
Fecha de Ingreso: junio-2008
Mensajes: 71
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Update a campo solo si...

Cita:
Iniciado por helacer Ver Mensaje
guiese de esta pagina hagalo con un if o un case

http://www.webadictos.com.mx/2007/06...s-no-conocias/
Yo en mi caso lo pude arreglar porque lineas más arribas había un SELECT que si "lo estiraba mas allá" podía coger un dato y usarlo luego para construir dinámicamente el UPDATE.

Pero fue que "tuve suerte" en este caso, revisaré eso que me dices a ver y para tenerlo en cuenta para el futuro ya que no siempre tendré la misma suerte que esta vez.

Gracias.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
En realidad si se puede, pero si usas LIMIT te dará error, porque LIMIT es cláusula de SELECT, no de UPDATE.
El tema del WHERE del UPDATE pasa porque debe ser univocamente selectivo, ya que de lo contrario, modificará todos los registros donde los datos del predicado coincidan.
Eso si que no lo sabía, tenía el dogma de usar "siempre" LIMIT ya que de lo contrario, el motor mysql se "iba a quedar revisando hasta el final" el cumplimiento de la condición.

Gracias.

---------------------------------------------

Ahora que me reeleo el post que hice de primero, creo que puede resultar un poco confuso. La situación era la siguiente.

A mi me interesa siempre hacer este update.

Código PHP:
UPDATE tabla
       SET campo1 
'var1'
    
WHERE id 'ID'
LIMIT 1 
Pero resulta, que si también se cumple esta condición campo2 <= 'dato' entonces también debo actualizar este campo campo2 = 'var2'

Por eso es que lo venía resolviendo con dos Update separados.

Última edición por SebasSebas; 24/12/2008 a las 10:26 Razón: Aclarar un poco