zoukankan      html  css  js  c++  java
  • 事务

    什么是事务

    事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。
    

    事务的4大特性

    原子性 
    	其对数据的修改,要么全部成功,要么全部都不成功。
    一致性 
    	事务开始到结束的时间段内,数据都必须保持一致状态。
    隔离性 
    	数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的"独立"环境执行。
    持久性 
    	事务完成后,它对于数据的修改是永久性的,即使出现系统故障也能够保持。
    
    我们可以在mysql事务处理过程中定义保存点(SAVEPOINT),然后回滚到指定的保存点前的状态。
        定义保存点,以及回滚到指定保存点前状态的语法如下。
        1.定义保存点---SAVEPOINT 保存点名;
        2.回滚到指定保存点---ROLLBACK TO SAVEPOINT 保存点名:
    

    实列 开启一个事务

    开启事务,给数据加锁
    # begin;#开始
    # select id from t1 where name = 'alex' for update;
    # update t1 set id = 2 where name = 'alex';
    # commit;#结束
    

    实列 开启回滚

    mysql> BEGIN; -- 或者start transaction;#开启事务
    mysql> INSERT INTO user VALUES ('3','one','0','');#向表user中插入2条数据
    mysql> INSERT INTO user VALUES ('4,'two','0','');#向表user中插入2条数据
    mysql> select * from user;#查询user表
    mysql> SAVEPOINT test;#指定保存点,保存点名为test
    mysql> INSERT INTO user VALUES ('5','three','0','');#向表user中插入第3条数据
    mysql> select * from user;#查表
    mysql> ROLLBACK TO SAVEPOINT test;#回滚到保存点test
    mysql> select * from user;#查表
    
  • 相关阅读:
    JMS学习四(ActiveMQ消息过滤)
    JMS学习三(ActiveMQ消息的可靠性)
    JMS学习二(简单的ActiveMQ实例)
    JMS学习一(JMS介绍)
    Linux iostat监测IO状态
    git删除所有提交历史记录
    MySQL查看数据库相关信息
    Java面试通关要点汇总集
    java开发需掌握技能2
    java开发需掌握技能1
  • 原文地址:https://www.cnblogs.com/saoqiang/p/12386710.html
Copyright © 2011-2022 走看看