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

问题描述 投票:3回答:2

谢谢您的帮助。

我在MySQL上有3个表,将来会增加。一个表用于我的用户,第二个表用于我的用户功能,第三个表用于角色。首先,当用户插入时,我需要在功能表上添加注册。我的意思是,如果我将新用户添加到tbl_users,触发器将被触发,它将获取新行。并仅选择ID,然后在tbl_measures上写就可以了。我只需要这个。

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

这是我的触发器,部分起作用。当我添加新的用户触发器时,向不带id的tbl_measures添加新行。

tables shema

mysql sql database-trigger
2个回答
1
投票

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

本质是trigger运行before还是after insertBeforeinsertid不存在,因为尚未创建记录。 Afterinsertid存在。长话短代码:

DELIMITER //

CREATE TRIGGER PROOFOFCONCEPT
AFTER INSERT
ON EACH ROW
BEGIN

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

END; //

DELIMITER ;

0
投票

如果有人需要,我找到了独处

在插入after_members_insert之后创建触发器tbl_users对于每个行开始插入到tbl_measures(user_id)VALUES(new.id);结束

© www.soinside.com 2019 - 2024. All rights reserved.