问题如下:(1)MySQL 触发器的执行和事务到底是和关系?
     a,触发器内的操作是在整个事务COMMIT后再统一执行,
     b,还是每个操作都执行触发器,但如果整个事务回滚,触发器内的操作也会回滚?(2)如果事务中某个操作的触发器里作的不是标准数据库操作,而是调用了UDF函数进行了其他操作,例如去删了
     memcached中的数据,那么如果发生事务回滚,memcached中的数据是否删掉了?     如果(1)是a,则memcached中的数据不会丢失;但如果是b的话,则memcached中的数据丢失!

解决方案 »

  1.   

    (1)MySQL 触发器的执行和事务到底是和关系?
        a,触发器内的操作是在整个事务COMMIT后再统一执行,
        b,还是每个操作都执行触发器,但如果整个事务回滚,触发器内的操作也会回滚?
      

  2.   

    那么,版主!
    这样的话,问题(2)中memcached中的数据肯定就会丢失了,因为对memcached的操作肯定是回滚不得的了!
      

  3.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  4.   

    b,还是每个操作都执行触发器,但如果整个事务回滚,触发器内的操作也会回滚?==>
    触发器是行级触发。。比如你的INSERT触发器 你一次性插入多条...那么它也是一条触发一次触发器...如果事务回滚,触发器的操作也回滚,触发的操作也回滚(对于行级。)