MySQL觸發器可以在滿足某些事件時自動執行SQL語句。其中一個非常有用的場景就是在一個表更新時,自動更新該表中的某些字段。以下是一個示例觸發器代碼:
DELIMITER $$ CREATE TRIGGER tr_example AFTER UPDATE ON my_table FOR EACH ROW BEGIN IF NEW.field1<>OLD.field1 THEN UPDATE my_table SET field2 = NEW.field2 + 1 WHERE id = NEW.id; END IF; END$$ DELIMITER ;
以上代碼創建了一個名為“tr_example”的觸發器,它會在“my_table”表中的任何行更新時自動執行。該觸發器的實際功能是,如果“field1”字段的值被更改,則將“field2”字段的值增加1。
注意,在以上示例中,我們使用了“IF”語句來檢查“field1”字段的值是否被更改。這是因為該觸發器會在每個更新事件中執行,而我們只想在“field1”值更改時更新“field2”。
最后,我們使用“DELIMITER”命令來更改MySQL默認的SQL語句分隔符,以便我們可以在觸發器代碼中使用分號。該命令的作用是告訴MySQL,我們將使用“$$”作為語句分隔符,而不是默認的分號“;”。
上一篇html+css3的手冊
下一篇css里背景徑向漸變