2014-12-31 81 views
1
CREATE DEFINER=`root`@`%` TRIGGER `trg_add_role_type_to_auth_item` AFTER INSERT ON role_type 
FOR EACH ROW 
BEGIN 

INSERT INTO `auth_item` (`name`, `type`, `description`, `bizrule`, `data`) 
SELECT role_type.name, "2", role_type.name, "NULL", "NULL" FROM role_type WHERE role_type.role_type_id = 
(SELECT AUTO_INCREMENT 
        FROM information_schema.TABLES 
        WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='role_type'); 

END; 

什麼是錯在這個觸發查詢....
我行得到了插入role_type但SERT在auth_item表不創建..這是正確的方式....我想在插入角色類型表中將最後一行的值插入到auth_item表中觸發的MySQL不工作

回答

1

在觸發器中,您可以使用新對象或舊對象直接訪問主表的字段。

試試這個:

CREATE DEFINER=`root`@`%` TRIGGER `trg_add_role_type_to_auth_item` AFTER INSERT ON role_type 
FOR EACH ROW 
BEGIN 

INSERT INTO `auth_item` (`name`, `type`, `description`, `bizrule`, `data`) 
VALUES (new.name, "2", new.name, NULL, NULL); 
END; 
+1

感謝...學到了新的東西 –

+0

我從艾哈邁達巴德... :) –