mysql - MySQL : How to make a trigger that inserts data to another table

标签 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;

最佳答案

注意:未提供您的表的表结构,因此假设存在诸如 useridbalance 之类的列和 debt 在你的表中。

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

这会处理为您的记录创建审计条目,这不是很需要(如果您征求我的意见)

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;

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

关于mysql - MySQL : How to make a trigger that inserts data to another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49215885/

相关文章:

php - 如何正确地子查询 - 或者这是怎么错的?

mysql - 如何使用 SQL 永久连接两个表?

java - sql异常错误

php - 具有两个日期字段的日期范围内高于 x 的字段的 MySQL 总和

mysql - 在数据库中拥有标志是否比每次查询表更好?

mysql - Ansible 原始和引用

php - 哪个效率更高 : a SQL JOIN or nested PHP loop?

sql - 有条件地从不同的表中选择

sql - 如何将表 A 中的不同记录插入到表 B(两个表具有相同的结构)

php - 如何对撇号进行编码,以便可以在 mysql 中搜索它?