我的SQL:如何创建一个将数据插入另一个表的触发器

时间:2018-03-11 01:56:33

标签: mysql sql

我正在学习JDBC,而且我正在尝试制作银行计划。我使用mySQL来创建包含用户和余额表的程序数据库。我想创建一个触发器,在用户表中输入数据时自动创建数据

到目前为止,我已经制作了不起作用的代码:

create trigger onInputUsers before insert on users 
for each row 
begin
insert into finances (id,balance,debt) values (null,0,0);
end;

1 个答案:

答案 0 :(得分:1)

注意:未提供表格的表格结构,因此假设有useridbalancedebt等列在你的桌子上。

可以有两个触发器可以满足您的要求(一个在创建新用户时创建记录,另一个在用户进行事务时创建记录)!

这会处理您的记录的审核条目的创建,这不是非常需要(如果您要求我的意见)

DELIMITER $$
CREATE TRIGGER USER_FINANCE_TRIGGER BEFORE INSERT ON users 
FOR EACH ROW
BEGIN
INSERT INTO finances (id, userid, balance, debt) VALUES (null, OLD.userid, 0, 0);
END$$
DELIMITER;

它处理用用户活动更新finances表:

DELIMITER $$
CREATE TRIGGER USER_FINANCE_UPDATE_TRIGGER BEFORE UPDATE ON balance 
FOR EACH ROW
BEGIN
INSERT INTO finances (id, userid, balance, debt) VALUES (null, OLD.userid, OLD.balance, OLD.debt);
END$$
DELIMITER;

希望这能很好地回答你的问题!