【发布时间】:2018-10-18 19:44:23
【问题描述】:
我目前有 2 张桌子
-
用户
- user_id
- 用户名
- 密码
- 电子邮件
-
钱包
- wallet_id
- user_id
- 学分
现在,当我将用户插入用户表时,我还想自动为该用户创建一个钱包。
我认为这可以通过 MySQL 中的触发事件使用AFTER INSERT
CREATE DEFINER = CURRENT_USER TRIGGER `pay`.`user_AFTER_INSERT` AFTER INSERT ON `user` FOR EACH ROW
BEGIN
INSERT INTO wallets (wallet_id, credit)
VALUES (current_user(user_id), 0);
)
END
我该怎么做呢? (我使用 MySQL Workbench)
【问题讨论】:
-
阅读触发器中的
NEW和OLD -
另外,查看您的表架构,您应该将 wallet_id 从 user 表中移出,而在 wallet 表中有一个 user_id 字段(用于规范化)
-
@MadhurBhaiya 是的,你是对的,这只是一个真正快速简单的设置。但我会改变它!
标签: mysql sql database triggers insert