Instance Nine:使用Transaction(事务) 手动提交,自动回滚
2016-01-05 16:31
405 查看
#!/usr/bin/env python #--*-- coding:utf-8 --*-- __author__ = 'Kevin' import MySQLdb as mdb import sys try: conn = mdb.connect('localhost','root','redhat','test') cursor = conn.cursor() cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",("Leo Tolstoy","1")) cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",("ROB POP","2")) cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",("Leo POP","3")) conn.commit() cursor.close() conn.close() except mdb.Error,e: conn.rollback() print "Error %d:%s" % (e.args[0],e.args[1])
如果不存在Writers表,则会出现错误
出现错误,触发异常处理
3条语句的前两条会自动变成没有执行,结果不变
如果本代码放入一个MyISAM引擎表,,前两句会自动执行,第三句不会,如果是INNDB引擎,则都不会执行
相关文章推荐
- Python学习笔记8-类的继承 、深度优先、广度优先
- 卷积神经网络初探 | 数据科学家联盟 http://dataunion.org/20942.html
- 老李推荐:第6章8节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-小结
- iOS声明变量用大括号和@property的区别
- 2016年1月5日 SSH学习笔记
- Gradle single task
- Nutch2.3 编译和安装配置
- (SRC)基于稀疏表示的人脸识别
- vi 怎么 保存, 退出编辑
- Java8中Lambda表达式的10个例子
- Nutch2.3 编译和安装配置
- iOS数据缓存及YYCache的实现分析
- 【BZOJ4373】算术天才⑨与等差数列
- javadongdong testtest
- nagios邮件报警
- java JVM设置
- 双边滤波(bilateral filter)彩色图 matlab实现代码
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- POJ 3417 Network(在线倍增LCA+树形DP)
- hadoop安装