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是利用关闭自动提交和手动回滚来保证事物的原子性;

  • 相关阅读:
    PHP mysqli_sqlstate() 函数
    修改用户家目录
    mysql 我的学习
    mysql 表空间
    mysql cluster 运行的必备条件
    浅谈mysql集群
    RBAC权限管理
    mysql 恢复备份
    oracle10G/11G官方下载地址集合 直接迅雷下载
    MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持
  • 原文地址:https://www.cnblogs.com/aaron-agu/p/7645723.html
Copyright © 2011-2022 走看看