`

MySQL事务处理

阅读更多

1.MySQL默认是自动提交的,改变提交模式:

 

set autocommit = 0;  #禁止自动提交

 

set autocommit = 1;   #开启自动提交

 

2.动作

 开始事务:start; 

 

 提交事务:commit; 

 

回滚事务:rollback;

 

保存点:savepoint name;

 

回滚至保存点:rollback to savepoint name;

 

 

begin;
 
update person set name='efgh' where id =10 ;
 
select * from person  ;
 
rollback  ;
 
select * from person ;
 

 

 

begin  ;
 
update person set name='efgh' where id =10 ;
 
select * from person  ;
 
commit  ;
 
select * from person;

 

 

begin;  
 
update score set score=40 where scoreid=1;  
 
savepoint s1;  
 
update score set score=50 where scoreid=2;  
 
select * from score;  
 
rollback to savepoint s1;  
 
select * from score;  
 
commit; 

 

3.事务的四大特征

原子性

 

一个原子事务要么完整执行,要么干脆不执行。

这意味着,工作单元中的每项任务都必须正确执行。

如果有任一任务执行失败,则整个工作单元或事务就会被终止。

即此前对数据所作的任何修改都将被撤销。

如果所有任务都被成功执行,事务就会被提交,即对数据所作的修改将会是永久性的。

 

一致性

 

 一致性代表了底层数据存储的完整性。 它必须由事务系统和应用开发人员共同来保证。事务系统通过保证事务的原子性,隔离性和持久性来满足这一要求; 应用开发人员则需要保证数据库有适当的约束(主键,引用完整性等),并且工作单元中所实现的业务逻辑不会导致数据的不一致(即,数据预期所表达的现实业务情况不相一致)。

 

例如,在一次转账过程中,从某一账户中扣除的金额必须与另一账户中存入的金额相等。

 

隔离性

 

隔离性意味着事务必须在不干扰其他进程或事务的前提下独立执行。 换言之,在事务或工作单元执行完毕之前,其所访问的数据不能受系统其他部分的影响。

 

持久性

 

持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故障。持久性通过数据库备份和恢复来保证。

 

分享到:
评论

相关推荐

    PHP事务处理实例 mysql事务处理的意义

    mysql事务处理的意义 事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,例如在银行处理转账业务时,如果A账户中的金额刚被发出,而B账户还没来得及接收就发生停电,这会给银行和个人带来...

    nodejs + mysql 事务处理问题

    nodejs + mysql 事物处理问题 呵呵 看了就知道 记得npm install啊 需要的东西啊 本想免费 苦于没积分 ,需要的的同学,给点分吧

    mySQL事务处理

    关于mysql的事务处理 public static void StartTransaction(Connection con, String[] sqls) throws Exception { if (sqls == null) { return; } Statement sm = null; try { // 事务开始 System....

    mysql事务处理用法与实例详解

    mysql事务处理用法与实例详解

    Java实现的mysql事务处理操作示例

    主要介绍了Java实现的mysql事务处理操作,结合实例形式较为详细的分析了Java基于JDBC操作mysql数据库实现事务处理的相关概念、操作技巧与注意事项,需要的朋友可以参考下

    mysql 事务处理学习资料+示例说明

    mysql 事务处理学习资料,带有示例说明

    MySQL事务处理与并发访问.pdf

    MySQL事务处理与并发访问.pdf

    mysql事务处理[归类].pdf

    mysql事务处理[归类].pdf

    MySQL事务处理详细讲解及完整实例

    MySQL事务处理详细讲解及完整实例下载 ..

    php实现mysql事务处理的方法

    本文实例讲述了php实现mysql事务处理的方法。分享给大家供大家参考。具体分析如下: 要实现本功能的条件是环境 mysql 5.2 /php 5 支持事务的table 类型,需要InnoDB,有了这些条件你就可以做上面的实现了,这个事物回滚...

    Mysql事务处理详解

    一、Mysql事务概念  MySQL 事务主要用于处理操作量大,复杂度高的数据。由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。在 MySQL 中只有使用了 Innodb 数据库引擎的...

    php下pdo的mysql事务处理用法实例

    本文实例讲述了php下pdo的mysql事务处理用法。分享给大家供大家参考。具体分析如下: php+mysql事务处理的几个步骤: 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛出异常提示再回滚 4.开启自动提交 注意:mysql...

    mysql事务处理用法与实例代码详解

    主要介绍了mysql事务处理用法与实例代码详解,详细的介绍了事物的特性和用法并实现php和mysql事务处理例子,非常具有实用价值,需要的朋友可以参考下

    MySql事务处理.pdf

    。。。

    MySql事务处理.docx

    ...

    PHP+MySQL高并发加锁事务处理问题解决方法

    主要介绍了PHP+MySQL高并发加锁事务处理问题解决方法,结合实例形式分析了PHP+MySQL事务处理相关操作技巧与注意事项,需要的朋友可以参考下

    MySQL事务处理与应用简析

    事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。这篇文章主要介绍了MySQL事务处理,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics