使用另一个表中的天数值更新值-mysql
我需要从一个表中更新值,从另一个表中获取天数值:使用另一个表中的天数值更新值-mysql,mysql,Mysql,我需要从一个表中更新值,从另一个表中获取天数值: orders: pid status =========== ========== 1 5 2 5 3 4 post: pid days ========== =========== 3 30 在这种情况下,我需要在30天后(post表中
orders:
pid status
=========== ==========
1 5
2 5
3 4
post:
pid days
========== ===========
3 30
在这种情况下,我需要在30天后(post表中的值)将pid 3的状态更新为5。
我怎样才能做到这一点
提前谢谢你。
post表中的“天”字段是日期时间数据类型
代码-
更新订单o内部连接柱p on p.pid=o.pid
设置状态=5
其中DATEDIFF(p.days,CURDATE())<-29;
代码解释
连接两个表之后,where语句用于标识
30天以上的所有PID。您能更具体一点吗?谢谢你的回复,很抱歉没有正确解释我自己。插入新订单id后,实时开始。现在post表中的天数应该是倒数计时的天数,所以基本上需要的是,在订单中插入新Id后的30天之后,订单中的状态从4变为5。在这种情况下是30天,但它可以是任何其他值,并且天是实时的。感谢您的澄清。代码和演示已相应更新。非常感谢!我对您的查询进行了一点修改,效果很好!谢谢,祝你今天愉快
update orders o inner join post p on p.pid = o.pid
set status = 5
where DATEDIFF(p.days,CURDATE()) < -29;