2013-04-23 195 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