2013-04-23 269 views
1

有一种方法可以拦截表中的新条目记录,并在另一个表中插入这些字段的某些值?另外,如何将关系设置为级联,以便在主表中删除记录时,即使在触发表中记录它也会被删除?我们可以通过例子/ resorce来解释吗?感谢的提前...MySql触发更新,插入和删除

回答

1

这是直接从http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account 
    -> FOR EACH ROW SET @sum = @sum + NEW.amount; 

在你的情况,你会希望有insert statment其中NEW被插入你的表行的实例来代替SET。所以这样的事情:

mysql> CREATE TRIGGER trigger_name BEFORE INSERT ON tablename 
    -> FOR EACH ROW insert into othertable (colname) Values(NEW.colname); 
mysql> CREATE TRIGGER trigger_name BEFORE INSERT ON tablename 
    -> FOR EACH ROW insert into othertable (colname) Values(NEW.colname); 
+0

谢谢你的回复,但我忘了指定Mysql服务器它的发布3.23,我无法更新它。我读过这个版本的触发器不可用。有一种方法可以创建一个函数或者作为触发器运行的东西吗?非常感谢 – 2013-04-24 21:22:36

+0

@GianniGiordano - 抱歉,不知道你是否可以或如何去做这件事 – 2013-04-24 21:27:51

+0

你好,你知道我该如何拦截表更新,并将新记录复制到版本3.23的其他表中? – 2013-04-24 21:32:58