2013-07-09 44 views
0

这是我目前的触发:MySQL的插入触发器后与FK表到第一表

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_role_linker.user_id是FK到USER.ID,我想插入到user_role_linker包括最后插入自动增量ID + USER_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” 而不是LAST_INSERT_ID()。 这有效。

回答

0

编辑:我不得不使用“NEW.id”而不是last_insert_id()。这工作。