您的位置:首页 > 数据库 > MySQL

学习mysql(6),触发器的创建。trigger

2013-04-18 10:38 501 查看
DROP TRIGGER t_test;

CREATE TRIGGER t_test
# AFTER INSERT ON t_user  FOR EACH ROW
# 稍微懂点英语都懂这句话意思。
# 在t_user每次插入一行之后执行beigin end 语句块
# after 可以改为befor ,举一反三 insert可以换成 delete update select
AFTER INSERT
ON t_user
FOR EACH ROW
BEGIN
#做一些增删改的工作,这里的写法与procedure,fucntion等类似。
#也就是说begin 与 end之间的写法类似。
#需要特别注意的是,这里不能用select 查询结果集,当然查询出来也是没有意义的。

UPDATE t_article ta
SET ta.ReviewCount = ta.ReviewCount + 1
WHERE ArticleID = new.ArticleID;
# ArticleID = new.ArticleID;这一句中的new关键字就代表了你刚才在t_user中插入的哪条记录。
# 所以你可以从new 中获得你刚才插入记录的字段值。
# 当然,如果用的delete语句触发的这个触发器,关键字就得用old。old代表你删除的哪条记录。
# update触发:old 代表更新前的记录。new 代表更新后的记录。
# insert触发:old 不能使用。new 代表插入的记录。
# delete触发:old 代表删除的记录。new 不能使用。

END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: