MySQL事务(event scheduler)的学习【事务创建之后,没有运行的问题】

【本篇文章主要解决的是,MySQL事务创建之后,没有运行的问题】

首先从这里开始:http://www.w3schools.in/mysql/event-schedule/,创建了基本的MySQL事务,然后查看了下事务,如下第二条,【这里图片是所有操作后的截图】

但遇到一个问题,事实上事务并未被执行,查资料,找到以下文章:http://hi.baidu.com/zhulin014/item/458a3825e3cbb93194f62b12

意外收获,学到了

  set autocommit = 0/1;  || 手动调用 commit; 提交

  show variables like 'autocommit';

  savepoint s1;

  rollback;

  rollback to savepoing s1;

等命令的用法和特性;

看完上面那片文章后,又找到官方文档:http://dev.mysql.com/doc/refman/5.1/en/create-event.html,常见了第二个事务【上图的第一条】,还是无法创建完后即自动运行,

谷歌关键字:mysql start event scheduler,找到了这篇:http://stackoverflow.com/questions/10071871/enabling-mysql-event-scheduler-on-server-restarts

【关键时刻还是stackover好使】

设置了两个变量:@@autocommit 和 @@global.event_scheduler 之后,事务果然运行起来了,【我的MySQL的event_schduler初始是OFF】

后有研究了下这两个变量:

A: @@global.event_scheduler B:@@autocommit  

A = off && B = * : 事务处于关闭状态

A = on && B = 1 : 事务处于开启状态,事务每执行一次,自动向数据库提交一次,

A = on && B = 0 : 事务处于开启状态,事务正常执行,但不会向数据库提交,而是将数据堆积,直到手动执行 commit 或者将 B 置 1,此时多有堆积的数据向数据库提交,事务继续。

还有两篇文章:

http://www.d5s.cn/archives/93

http://dove19900520.iteye.com/blog/1733963

感觉蛮不错的样子【虽对我解决本次问题没帮上忙- -!,但还是先收着】

 

posted on 2013-07-25 18:45  JohnChain  阅读(660)  评论(0编辑  收藏  举报

导航