谢谢您的帮助。
我在MySQL上有3个表,将来会增加。一个表用于我的用户,第二个表用于我的用户功能,第三个表用于角色。首先,当用户插入时,我需要在功能表上添加注册。我的意思是,如果我将新用户添加到tbl_users,触发器将被触发,它将获取新行。并仅选择ID,然后在tbl_measures上写就可以了。我只需要这个。
INSERT INTO tbl_measures (user_id) VALUES (tbl_users.id)
这是我的触发器,部分起作用。当我添加新的用户触发器时,向不带id的tbl_measures添加新行。
[当您在NEW.id
insert
中引用trigger
时,主要有两种情况。在第一种情况下,您将获得正确的id
值。这就是您的期望。第二种情况是null
。这就是发生的情况。
本质是trigger
运行before
还是after
insert
。 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 ;
如果有人需要,我找到了独处
在插入after_members_insert
之后创建触发器tbl_users
对于每个行开始插入到tbl_measures(user_id)VALUES(new.id);结束