Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL UPDATE mit IF-Bedingung

Da der einzige Unterschied darin besteht, ob Sie ur.end_Date entweder auf das aktuelle Datum oder auf das vorhandene Datum setzen, könnten Sie nicht einfach Folgendes verwenden:

UPDATE user p  
JOIN user_roles ur 
ON p.id = ur.user_id  
SET 
ur.end_date = IF (ur.end_date IS NULL, NOW(), ur.end_date),
p.end_date = NOW(), 
p.reason = "Retired" 
WHERE p.id = 5