MySQL : 事务处理
2018-06-17 23:47:53来源:未知 阅读 ()
【事务】一组SQL语句操作单元,组内所有SQL语句,完成一个业务。
若整组成功,意味着组内的全部操作都成功;
反之,若其中任何一条语句失败,意味着整个操作都失败。
操作失败,意味着整个过程都是没有意义的,应使数据库回到操作前的初始状态。
【point】1. 失败后,能回到开始位置;
2. 成功之前,其他用户(进程、规划)不能看到操作内的修改。
【思路】在一组操作之前,设计一个记号(备份点)。
【实现】利用 innodb 存储引擎的“事务日志”功能。
执行分为2个阶段:
1. 执行阶段;
2. 将执行结果提交给数据库的阶段;
其中,事务日志便是将执行阶段的结果保存,若用户选择提交,才将执行结果提交给数据库。
(默认的执行方式:自动提交)
需要关闭自动提交功能(存在一个系统变量,autocommit 可以对自动提交进行配置)
1 set autocommit = 0 ; // 0 意味着关闭自动提交功能;1 意味着开启
若成功,执行 commit 提交结果;
若失败,执行 rollback ,回到起始位置。
--------------------------------------------------------------------------
【常用的事务指令】
1. start transaction 开启事务(作用:关闭自动提交)。
特点:若事务结束了,无论成败,都会提交机制,回到start时的状态(原来是autocommit,就会回到autocommit状态)。
2. commit
3. rollback
【小练习】
1. 指令
2. 为什么会有事务?
自动提交、事务日志。
3. 事务的特点?(ACID)
1) 原子性:对于外界而言,事务中的SQL语句是一个整体;
2) 一致性:在事务执行过程中,数据不受其他操作的影响;
3) 隔离性:事务之间不会相互影响。
4) 持久性:事务一旦提交,意味着对数据库产生了影响,不可以再回退。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:常用的sql
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash