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

¿Alguien me da una mano con un UPDATE IF?

Estas en el tema de ¿Alguien me da una mano con un UPDATE IF? en el foro de Mysql en Foros del Web. Estoy intentando ejecutar la siguiente query: Código: UPDATE `users` SET IF LENGTH(`notifications`) > 0 THEN `notifications` = CONCAT(`notifications`,',','1,2,3') ELSE `notifications` = '1,2,3' END IF Pero ...
  #1 (permalink)  
Antiguo 07/02/2011, 07:06
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 15 años, 10 meses
Puntos: 2
Información ¿Alguien me da una mano con un UPDATE IF?

Estoy intentando ejecutar la siguiente query:

Código:
UPDATE `users`
SET
IF LENGTH(`notifications`) > 0 THEN
	`notifications` = CONCAT(`notifications`,',','1,2,3')
ELSE
	`notifications` = '1,2,3'
END IF
Pero me da error :@

La idea es actualizar la columna de notificaciones con "1,2,3", si la columna ya tiene contenido agregar una coma al principio, pero si la columna está vacía no agregar ninguna coma...

¿Cómo se lograría esto? :S

EDIT:

Acá lo solucioné usando el IF como función:

Código:
UPDATE `users`
SET `notifications` = IF(LENGTH(`notifications`)>0,
  CONCAT(`notifications`,',','1,2,3'),
  CONCAT(`notifications`,'1,2,3'))
Ahora, solo por saber, ¿qué es lo que hice mal de la otra manera? jaja

Última edición por ZequeZ; 07/02/2011 a las 07:13
  #2 (permalink)  
Antiguo 07/02/2011, 09:10
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: ¿Alguien me da una mano con un UPDATE IF?

Cita:
Ahora, solo por saber, ¿qué es lo que hice mal de la otra manera? jaja
Lo que te pasó es que pretendiste usar la estructura IF... THEN/ELSE/ENDIF, en lugar de la función IF().
Las estructuras de decisión sólo pueden ser usadas dentro de stored procedures o stored functions, y no en sentencias únicas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/02/2011, 09:51
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 15 años, 10 meses
Puntos: 2
De acuerdo Respuesta: ¿Alguien me da una mano con un UPDATE IF?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo que te pasó es que pretendiste usar la estructura IF... THEN/ELSE/ENDIF, en lugar de la función IF().
Las estructuras de decisión sólo pueden ser usadas dentro de stored procedures o stored functions, y no en sentencias únicas.
Ahhhhhhhhhhhhhhhhhh...
Genial, recién empiezo a usar condicionales y estas cosas en SQL, no sabía, gracias ^^

Etiquetas: mano, update
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:27.