首页 > 解决方案 > MySQL中的特定时间触发器

问题描述

我有关于银行账户交易信息的表格,其中有 ID 帐号、余额、日期和任何交易的用户。每次我存款或取款时,特定账户的账户余额都会发生变化(显然)。我需要创建一个触发器来汇总所有帐户余额,例如一天结束时所有帐户的总余额,并在每个特定日期和每个总余额填写另一个表。我想我应该使用那个触发器,但我不知道如何按天过滤它。

CREATE TABLE movement
(account    VARCHAR(10)        NOT NULL ,
date       TIMESTAMP          NOT NULL DEFAULT CURRENT_TIMESTAMP(),
description VARCHAR(30)        NOT NULL,
type      ENUM('D','W')      NOT NULL,
value      DECIMAL(7,2)       NOT NULL
)ENGINE=INNODB;

CREATE TABLE balance
(account       VARCHAR(10)     PRIMARY KEY,
balance        DECIMAL(7,2)   NOT NULL
)ENGINE=INNODB;

CREATE TABLE daily_balance

(date DATE PRIMARY KEY,

balance DECIMAL (7,2) NOT NULL

)

DELIMITER //
CREATE TRIGGER TOTAL_AI after insert on movement for each row 
begin 
insert into daily_balance values (now(), (select sum(balance) from balance));
end // 
DELIMITER ;



标签: mysqltriggers

解决方案


推荐阅读