我有用户表有列名称余额我希望为所有用户自动更新余额列每年第一次+值(30)因为每个用户每年将获得30点积分,如何进行此查询和制作它每年自动运行
我桌上的样本
ID名称余额
1 name1 20
2 name2 31
2 name3 14
答案 0 :(得分:0)
老实说,我会把laravel完全排除在外。使用mysql的内置event scheduler或使用您的操作系统'类似的功能(例如cron或windows任务调度程序)来安排sql脚本的运行。如果您使用OS事件调度程序,则使用mysql' s command line client来执行sql脚本。
根据您的业务需求,您可能希望每天运行脚本来更新1年前注册的余额。
你的sql会像下面的那样:
update table set balance=balance+30 where field_for_creation_date=curdate() - interval 1 year
我假设您在一个字段中存储了计算1年的注册/激活日期,我在上面的查询中将其命名为field_for_creation_date。
答案 1 :(得分:0)
我通过使用c-panel Cron Jobs解决了这个问题我创建了用于连接数据库的PHP脚本并更新了记录然后我把这个脚本路径放在Cron Jobs命令中就像这样
php -f /script-path/scriptName.php