——此文章摘自《PHP网络编程典型模块与实例精讲》定价
¥
特价
¥
详细>>http://track
linktech
cn/?m_id=dangdang&a_id=A
&l=
&l_type
=
width=
height=
border=
nosave>
http://developcsaicn/web/images/gif>
以上代码创建了作用在t_article表上的一个名为tr_after_insert_article的触发器当在t_article表中插入记录后这个触发器即被触发触发器内的语句被执行
触发器内的NEW关键字指代表中新插入的行记录IF语句判断帖子是否有父帖(f_parent_id为表示无父帖)如果没有父帖则将t_postinfo表中对应的发帖者的f_post_times字段的值加;如果有父帖则更改父帖的 f_has_child字段并将t_postinfo表中对应的发帖者的f_reply_times字段的值加
创建这个触发器后Article类的帖子发布函数post()的代码中仅需保留前两条SQL语句即可可见这样极大简化了PHP前台的代码
实际上触发器中的SQL语句与触发该触发器的语句(INSERTUPDATE或DELETE)同属于一个事务因此触发器内不能再使用事务如果触发器中任一条语句执行失败则会使整个事务失败也就是说触发该触发器的SQL语句也会执行失败
right>[http://developcsaicn/web/htm>] []