有关mysql触发器的感悟_有关mysql触发器实例分享
注意:Mysql從5.0開始支持觸發(fā)器。
語法:
CREATE TRIGGER
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON
FOR EACH ROW
注意:在Mysql中現(xiàn)在還不支持利用call來調(diào)用存儲過程。
下面來看具體的mysql觸發(fā)器的例子。
比如有論壇的版塊表和文章表,一個版塊中有多篇文章,在版塊表中有一個字段用來記錄版塊下的文章數(shù)。
表board--版塊表,count為文章數(shù)字段名
表article--文章表,board_id為文章所屬版塊的id
1,添加文章時的觸發(fā)器:
復(fù)制代碼 代碼示例:
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,刪除文章時的觸發(fā)器:
復(fù)制代碼 代碼示例:
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,從一個版塊移動到另一個版塊的觸發(fā)器:
復(fù)制代碼 代碼示例:
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觸發(fā)器與sql server中的觸發(fā)器很類似的,如果您有sql server觸發(fā)器基礎(chǔ)的話,再學(xué)mysql觸發(fā)器會相對容易些。
總結(jié)
以上是生活随笔為你收集整理的有关mysql触发器的感悟_有关mysql触发器实例分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中Activity启动模式
- 下一篇: mysql触发器trigger 实例详解