gpt4 book ai didi

mysql - 用于添加一些数据的 SQL 触发器

转载 作者:行者123 更新时间:2023-12-04 04:12:47 24 4
gpt4 key购买 nike

感谢您的帮助。

我在 MySQL 上有 3 个表。一张表用于我的用户,第二张用于我的用户功能,第三张用于角色。首先,我需要在插入用户时在度量表上添加注册。我的意思是,如果我向 tbl_users 添加一个新用户,触发器将获取用户 ID 并写在 tbl_measures 上。我只需要这个。

INSERT INTO tbl_measures (user_id) VALUES (tbl_users.id) 

这是我的触发器,它正在部分工作。当我添加一个新的用户触发器时,在没有 id 的情况下向 tbl_measures 添加一个新行。

tables shema

最佳答案

当您在insert trigger 中引用NEW.id 时,主要有两种情况。在第一种情况下,您获得了正确的 id 值。这就是你所期望的。在第二种情况下,它是 null。这就是发生的事情。

重要的是触发器是在插入之前还是在之后运行。 Before insert id 不存在,因为尚未创建记录。 After insert id 存在。长话短说代码:

DELIMITER //

CREATE TRIGGER PROOFOFCONCEPT
AFTER INSERT
ON EACH ROW
BEGIN

INSERT INTO tbl_measures(user_id)
VALUES (NEW.id);

END; //

DELIMITER ;

关于mysql - 用于添加一些数据的 SQL 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61433950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com