zoukankan      html  css  js  c++  java
  • peewee 事物 回滚

    peewee 事物 回滚

    #!/usr/bin/env python
    # coding=utf-8
    from peewee import *
    
    
    db = MySQLDatabase(host='123.57.229.66', user='root', passwd='password', database='czj', charset='utf8')
    
    class tb_users(Model):
        id = PrimaryKeyField()  # 主键
        mobile = CharField(unique=True, max_length=64, null=False)  # 注册手机号/openid
        password = CharField(max_length=32)  # 密码
        truename = CharField(max_length=32)  # 真实姓名/nickname
    
        class Meta:
            database = db
    
    #
    def one():
        try:
            with db.atomic():
                tb_users.create(mobile='120', password='120', truename='120')
                raise 'haha'
            print 'Success'
        except IntegrityError:
            print 'Failure: %s is already in use.' % username
    
    #
    @db.atomic()
    def create_user():
        tb_users.create(mobile='120', password='120', truename='120')
        raise 'haha'
    
    def two():
        create_user()
    
    
    #
    def three():
        db.set_autocommit(False)
        db.begin()
        try:
            tb_users.create(mobile='120', password='120', truename='120')
            raise 'haha'
        except:
            db.rollback()
            raise
        else:
            try:
                db.commit()
            except:
                db.rollback()
                raise
        finally:
            db.set_autocommit(True)
    
    #
    def four():
        db.set_autocommit(False)
        db.begin()
        tb_users.create(mobile='120', password='120', truename='120')
        db.rollback()
        db.commit()
        db.set_autocommit(True)

    实例1,2是使用 peewee封装的db.atomic()原子性,3,4是利用关闭自动提交和手动回滚来保证事物的原子性;

  • 相关阅读:
    System.arraycopy用法
    Springmvc Get请求Tomcat、WebLogic中文乱码问题
    Rails内存的问题 Java内存情况
    Java 执行系统命令
    搭建Cocos2d-JS开发环境
    xcode 6 改动组织及开发人员
    poj
    hdu 4869 Turn the pokers (思维)
    【剑指offer】扑克牌的顺子
    NYOJ 480 Fibonacci Again!
  • 原文地址:https://www.cnblogs.com/aaron-agu/p/7645723.html
Copyright © 2011-2022 走看看