我想更新列expiry_date只有当已经存储的expiry_date小于new expiry_date时如何实现这个是mysql
update tbl_user
set
email="sdhfids@gmail.com'
currency="USD"
expiry_date=DATE_ADD(NOW(), INTERVAL ".$expiry_date." MONTH)
where user_id=1
提前致谢
答案 0 :(得分:2)
尝试使用CASE
update tbl_user
set
email='sdhfids@gmail.com'
currency='USD'
expiry_date= CASE WHEN expiry_date < 'UR NEW DATE'
THEN DATE_ADD(NOW(), INTERVAL ".$expiry_date." MONTH)
ELSE expiry_date
END
where user_id=1
答案 1 :(得分:1)
正如@Strawberry评论的那样,GREATEST应该有效:
update tbl_user
set
email="sdhfids@gmail.com'
currency="USD"
expiry_date=GREATEST(expiry_date, DATE_ADD(NOW(), INTERVAL ".$expiry_date." MONTH))
where user_id=1