执行MySQL使用事务的方法

最近我团队出现了一个挺让我头疼的问题,由于我们的开发没来得及抽出时间来开发功能,一些紧急的需求过来了,我们团队的同学只能使用SQL语句来暂时帮助业务方将问题解决。然而有些需求却需要执行很多的SQL语句来解决,这样存在很大的风险,一不小心一个SQL写错了,就会对业务方造成很大的影响。所以我提出了几个改进的建议:
 1. 尽量不使用SQL语句,团队需要从原来的工作中总结经验,将功能提炼出来,通过系统功能来解决问题。这个建议是需要提前埋伏一些功能,对未来做一些预判,而且要做到能够快速开发功能来应对业务方紧急的需求。
2. 如果一定要执行SQL语句,执行前需要有人check,结对编程,写的同学需要在check的同学面前把逻辑讲清楚。另外,为了保险起见,在执行SQL的时候必须要使用事务,执行完之后check,如果没问题就commit,否则就rollback:
set autocommit = 0;  # 先设置不允许自动提交 
# 执行你的SQL
commit;  # 如果没问题就commit
rollback;  # 如果有问题就rollback
set autocommit = 1;  # 设置回允许自动提交,因为MySQL是默认自动提交的
注:如果很不幸在执行之后没有做commit或者rollback的处理,你的MySQL客户端退出之后MySQL会自动将你执行的SQL rollback回去。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/2382.html

发表评论