社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

在mysql中为每月事件添加天数

Godlovesme • 5 年前 • 1445 次点击  
DELIMETER $$
CREATE EVENT loan_balance ON SCHEDULE EVERY  '1' MONTH AND '5' DAYS 
DO BEGIN UPDATE users SET loan_balance = total_loans_collected - 
total_loans_paid;
END$$
DELIMETER;

你好!我想在每个月的5号更新这个表,而不仅仅是每月一次。“和”5“天没用。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47364
 
1445 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Caleb Goodman
Reply   •   1 楼
Caleb Goodman    6 年前

而不是使用触发器来更新 loan_balance 专栏,你可以把它变成 generated column 是的。

ALTER TABLE users MODIFY COLUMN loan_balance INT GENERATED ALWAYS AS
(total_loans_collected - total_loans_paid) STORED;

除非我遗漏了什么,否则我相信这是最理想的方法,而且维护起来肯定更容易。

O. Jones
Reply   •   2 楼
O. Jones    6 年前

你需要一个稍微不同的 ON SCHEDULE 短语。

 AT '2018-04-01 03:01' + INTERVAL 5 DAY EVERY MONTH

在每个月的第五天当地时间03:01开始您的活动。

03:01 是安排工作的好时机,因为它不会被标准时间/夏令时切换搞砸。