我们java后台定期改变后台数据库一般都是写定时器,定期操作。其实还可以数据库里写个定时跑批任务,来操作数据库。
今天在做项目时,需要每天检查数据库,判断一个表里的数据的时间和状态,如果时间过了3天了,状态还是1,则要将状态改为2。
我首先想到的就是写定时任务,定时运行某个后台方法,上网查了下 还可以在数据库里设置定时sql语句,每天固定执行sql语句来更改数据库状态,特此记录。
在mysql的库里找到事件,新建事件,写上sql语句,比如图中,将修改时间过了3天的状态仍为‘1’的数据状态改为‘2’,
设定事件每天执行一次,设定执行时间为每天的00:00:01, 就可以每天00:00:01的时候 自动执行这个sql语句了 ,
注:DATADIFF表示求时间差的意思。