我可以在phpmyadmin中的mysql架构中创建一个触发器

时间:2013-12-16 17:17:08

标签: mysql triggers

当我在不同的数据库中运行相同的查询时,它可以成功运行。但是在mysql schem中它给出了错误:

#trigger can not be created on system table

我的查询是:

delimiter //
CREATE TRIGGER `invite` AFTER INSERT ON `Invite_page`
 FOR EACH ROW BEGIN
    Insert into userpost(userid,url,title,preview,sentiment,time) values(NEW.userid,NEW.url,NEW.title,NEW.preview,NEW.sentiment,NEW.time);
    Insert into urlcontent(userid,url,title,preview,sentiment,time) values(NEW.userid,NEW.url,NEW.title,NEW.preview,NEW.sentiment,NEW.time);
END
//
delimiter ;

如果我不能,那我该如何解决呢?

更新:

实际错误:

#1465 - Triggers can not be created on system tables

2 个答案:

答案 0 :(得分:2)

试试这个

DELIMITER $$
CREATE TRIGGER `invite` AFTER INSERT ON `Invite_page`
FOR EACH ROW 
BEGIN
    Insert into userpost(userid,url,title,preview,sentiment,time) values(NEW.userid,NEW.url,NEW.title,NEW.preview,NEW.sentiment,NEW.time);
    Insert into urlcontent(userid,url,title,preview,sentiment,time) values(NEW.userid,NEW.url,NEW.title,NEW.preview,NEW.sentiment,NEW.time);
END$$
DELIMITER ;

答案 1 :(得分:1)

http://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html中的“触发器限制”部分下,您可以阅读:

  

mysql数据库中的表不允许触发。

BTW,您使用mysql架构存储数据吗?这通常是一个非常糟糕的主意,您可能需要重新考虑您的设置。