MySQL在将触发器插入到表后,将FK插入到第一个表
这是我当前的触发器:MySQL在将触发器插入到表后,将FK插入到第一个表,mysql,triggers,Mysql,Triggers,这是我当前的触发器: CREATE DEFINER=`root`@`localhost` TRIGGER `setaccessrole` AFTER INSERT ON `user` FOR EACH ROW BEGIN INSERT INTO user_role_linker (user_id, role_id) values (last_insert_id(), 2); END user\u role\u linker.user\u id是FK to user.id,我希望插入
CREATE DEFINER=`root`@`localhost` TRIGGER `setaccessrole` AFTER INSERT ON `user` FOR EACH ROW BEGIN
INSERT INTO user_role_linker (user_id, role_id) values (last_insert_id(), 2);
END
user\u role\u linker.user\u id是FK to user.id,我希望插入到user\u role\u linker中,包括最后插入的自动递增id+user\u role=2,但我得到:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`database`.`user_role_linker`, CONSTRAINT `FK_61117899A76ED395` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))
编辑:
我不得不使用“NEW.id”而不是上次插入的id()。
这很有效。编辑:我必须使用“NEW.id”而不是上次插入的id()。这很有效