有关mysql触发器的感悟_有关mysql触发器实例分享
注意:Mysql從5.0開始支持觸發器。
語法:
CREATE TRIGGER
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON
FOR EACH ROW
注意:在Mysql中現在還不支持利用call來調用存儲過程。
下面來看具體的mysql觸發器的例子。
比如有論壇的版塊表和文章表,一個版塊中有多篇文章,在版塊表中有一個字段用來記錄版塊下的文章數。
表board--版塊表,count為文章數字段名
表article--文章表,board_id為文章所屬版塊的id
1,添加文章時的觸發器:
復制代碼 代碼示例:
DELIMITER ;;
CREATE TRIGGER `article_add` AFTER INSERT ON `article` FOR EACH ROW begin
update `board` set `count`=`count`+1 where `id`=NEW.board_id;
end;;
DELIMITER ;
2,刪除文章時的觸發器:
復制代碼 代碼示例:
DELIMITER ;;
DELIMITER ;;
CREATE TRIGGER `article_del` AFTER DELETE ON `article` FOR EACH ROW begin
update `board` set `count`=`count`-1 where `id`=OLD.board_id;
end;;
DELIMITER ;
3,從一個版塊移動到另一個版塊的觸發器:
復制代碼 代碼示例:
CREATE TRIGGER `article_move` AFTER UPDATE ON `article` FOR EACH ROW begin
update `board` set `count`=`count`-1 where `id`=OLD.board_id;
update `board` set `count`=`count`+1 where `id`=NEW.board_id;
end;;
DELIMITER ;
建議大家親自動手實踐下,mysql觸發器與sql server中的觸發器很類似的,如果您有sql server觸發器基礎的話,再學mysql觸發器會相對容易些。
總結
以上是生活随笔為你收集整理的有关mysql触发器的感悟_有关mysql触发器实例分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中Activity启动模式
- 下一篇: 几个功能强大的系统源码(机票分销、机票预