@H_502_1@我正在与一个网站打交道,人们可以在其中订购某些虚拟货币.我需要在数据库中放置订阅结束的日期.我的表格中有一个“到期”字段,它是DATE.
@H_502_1@当用户扩展其订阅时,我需要在此日期之前增加1个月.但是,如果订阅已过期,我想将“过期”设置为从现在开始的1个月,而不是从订阅过期起的1个月.
@H_502_1@我试过了:
@H_502_1@
UPDATE shop_user_rights SET expiration = ADDDATE(MAX(expiration,CURDATE()),INTERVAL 1 MONTH);
@H_502_1@和
@H_502_1@
UPDATE shop_user_rights SET expiration = FROM_UNIXTIME(
MIN(
UNIX_TIMESTAMP(expiration),UNIX_TIMESTAMP(CURDATE())
)
),expiration = ADDDATE(expiration,INTERVAL 1 MONTH);
@H_502_1@但是两者都给出语法错误.有一种方法可以在1个查询中执行此操作,还是我必须事先使用一些SELECT查询?最佳答案