如何使用MySQL事务


这篇文章主要为大家展示了如何使用MySQL事务,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。事务的概念
事务是通过事务日志来实现的,事务日志包括:redo log和undo log。当回滚操作执行完毕时,也就是数据库恢复到了执行事务之前的状态,我们就说该事务处在了中止的状态。四种隔离状态:
1. 读未提交(Read uncommitted)
2. 读提交(Read committed)
3. 可重复读(Repeatable read)
4. 串行化(Serializable)执行步骤:
1. 从老王媳妇账户读取数据
2. 从老王媳妇账户上减掉20元
3. 从老王账户读取数据
4. 给老王账户增加20元
5. 执行提交成功
6. 此时老王媳妇账户只有80元啦,而老王账户有30元啦,老王高兴不得了咯执行步骤:
1. 从老王媳妇账户读取数开发云主机域名
2. 从老王媳妇账户上减掉25元
3. 从老王账户读取数据
4. 给老王账户增加25元
5. 此时老王媳妇撤回之前的操作
6. 此时,老王和老王媳妇的账户余额还是保持操作之前的数目此时需要操作事务,则需要显式开启(begin or start transaction)和提交(commit)或回滚(rollback)。如设置成OFF,则需要执行提交(commit)或回滚(rollback)操作时才会真正执行事务。当我们使用ALTER USER、CREATE USER、DROP USER、GRANT、RENAME USER、REVOKE、SET PASSWORD等语句时也会隐式的提交前边语句所属于的事务。当我们在一个事务还没提交或者回滚时就又使用START TRANSACTION或者BEGIN语句开启了另一个事务时,会隐式的提交上一个事务。或者使用LOCK TABLES、UNLOCK TABLES等关于锁定的语句也会隐式的提交前边语句所属的事务。有了事务的保存点,我们在进行复杂的事务操作时,我们不用担心一出错直接回滚到最初状态,就如一夜回到解放前。1. SAVEPOINT 保存点名称;//标记保存点
2. ROLLBACK TO [SAVEPOINT] 保存点名称;//回滚到某一个保存点
3. RELEASE SAVEPOINT 保存点名称;//删除以上就是关于如何使用MySQL事务的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。

相关推荐: MySQL5.7——–基于无损复制搭建主从

1. 背景 * MySQL Replication默认都是异步(开发云主机域名asynchronous),当主库在执行完一些事务后,是不会管备库的进度的。如果备库不幸落后,而更不幸的是主库此时又出现Crash(例如宕机),这时备库中的数据就是不完整的。简而言之…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/04 20:59
下一篇 06/04 20:59

相关推荐