Ni siquiera estoy seguro de si esto es posible, pero estoy tratando de hacer diferentes ACTUALIZACIONES si se cumple una determinada condición.ACTUALIZACIÓN de MySQL usando la condición IF
de usuario [ID, fecha_inicial (NOT NULL), fecha_final (NULL), la razón (NULL), .....]
user_roles [id, ROLE_ID, user_id, fecha_inicial (NOT NULL), fecha_final (NULL)]
lo que ahora tenemos es esto, pero esto sólo funciona si existe una función para el usuario y es fecha_final es NULL:
UPDATE user p
JOIN user_roles ur ON p.id = ur.user_id
SET ur.end_date = NOW()
, p.end_date = NOW()
, p.reason = "Retired"
WHERE p.id = 5
AND ur.end_date IS NULL
yo estaba pensando en hacer algo como esto:
IF EXISTS (SELECT id FROM user_roles
WHERE user_id = 5 AND end_date IS NULL)
THEN
UPDATE user p
JOIN user_roles ur ON p.id = ur.user_id
SET ur.end_date = NOW()
, p.end_date = NOW()
, p.reason = "Retired"
WHERE p.id = 5 AND ur.end_date IS NULL
ELSE
UPDATE user
SET end_date = NOW()
, reason = "Retired"
WHERE id = 5
END IF
@APC, que estaba haciendo lo mismo =) –