Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/06/2011, 12:11
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: If en sentencia sql

Hola dunga007:

Con el permiso del compañero huesos52, la sentencia IF, tal como la estás tratando de utilizar necesita de tres parámetros (la condición, lo que se tiene que hacer cuando la condición es verdadera y lo que se tiene que hacer cuando la condición es falsa).

En tu post no especificas qué debe suceder cuando nombre es diferente de '', pero sería más o menos así:

Código:
UPDATE socios 
SET nombre=if(nombre='',nombre='Manuel', nombre)
WHERE id='1'
Con palabras sería más o menos así, para el registro con id='1', si el nombre es igual a '' entonces ponle Manuel, pero si es cualquier otra cosa deja el mismo contenido.

También podrías hacerlo con un CASE-WHEN, si no le pones la parte del ELSE le asignaría un null, sería más o menos así

Sería más o menos así:

Código:
UPDATE socios 
SET nombre=CASE WHEN nombre='' THEN 'Manuel' ELSE nombre END[/B]
WHERE id='1'
Saludos
Leo.

EDITADO: veo que el compañero huesos52 ya había contestado la pregunta mientras yo redactaba mi respuesta, pero le faltó aclarar por qué del error.


Saludos