首页 > 学院 > 开发设计 > 正文

Mysql事务

2019-11-09 13:29:29
字体:
来源:转载
供稿:网友

事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性) 1、事务的原子性:一组事务,要么成功;要么撤回。 2、稳定性 : 有非法数据(外键约束之类),事务撤回。 3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。 4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里。

MySQL的事务处理主要有两种方法 1.用begin,rollback,commit来实现 begin/start transaction开始一个事务 rollback事务回滚 commit 事务确认 2.直接用set来改变mysql的自动提交模式 mysql默认是自动提交的,也就是你提交一个query,就直接执行!可以通过 set autocommit = 0 禁止自动提交 set autocommit = 1 开启自动提交 来实现事务的处理。 但要注意当用set autocommit = 0 的时候,你以后所有的sql都将作为事务处理,直到你用commit确认或 rollback结束,注意当你结束这个事务的同时也开启了新的事务!按第一种方法只将当前的做为一个事务! MYSQL只有 INNODB和BDB类型的数据表才支持事务处理,其他的类型是不支持的!

如果commit之后,rollback是没有用的, rollback主要是取消你在begin之后所做的所有操作,如果先rollback,然后commit,相当于没有操作


上一篇:Alter 命令

下一篇:oracle学习笔记-1

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表