在MySQL中,事务就是一个逻辑工作单元的一系列步骤。事务是用来保证数据操作的安全性。
事务的特征:
1.Atomicity(原子性)
2.Consistency(稳定性,一致性)
3.Isolation(隔离性)
4.Durability(可靠性)
注:事务只针对对数据数据产生影响的语句有效。
show engines //查看mysql锁支持的数据引擎
MyISAM不支持事物,InnoDB支持事物
默认情况下,MySQL将以自动提交模式运行,这意味着没一条小命令都将当做一个只有一条命令的事物来执行。
如果要让mysql支持支持事务,只需要修改数据引擎(alter table person type=INNODB)
使用start transaction或者begin命令来开启一个事物,使用commit,或者rollback来结束事物。
事物的结束:事物除了commit,rollback会结束外,使用DDL或者DCL语句也会结束。
保存点:通过保存点机制:用户可以在事物里用savepoint name命令设置一些保存点,以后用户在使用rollback to savepoint name结束事物时,name之前的数据保存,之后的数据不保存。
mysql使用事务的关键字 begin //打开一个事务 commit //提交到数据库 rollback //取消操作 savepoint //保存,部分取消,部分提交 alter table person type=INNODB //修改数据引擎
示例如下:
begin update person set name='efgh' where id =10 select * from person rollback select * from person
示例如下:
alter table person type=INNODB begin update person set name='efgh' where id =10 select * from person commit select * from person begin delete from person where id=21 update person set name='efgh' where id =10 commit/rollback
针对上面部分提交,必须用到保存点
保存点注意:
1.只能取消到某个保存点 rollback to savepoint p1
2.不能提交某个保存 commit to savepoint p2//错误写法
3.最后commit 把未取消的保存点去不提交到数据
事务保存点使用例子:
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; html" target="_blank">select * from score; commit;
本文向大家介绍mysql事务处理用法与实例代码详解,包括了mysql事务处理用法与实例代码详解的使用技巧和注意事项,需要的朋友参考一下 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务、行级锁、并发 3.Berkeley DB:支持事务 一个事务是一个连续的一组数据库操作,就好像它是一个单
本文向大家介绍Java与Oracle实现事务(JDBC事务)实例详解,包括了Java与Oracle实现事务(JDBC事务)实例详解的使用技巧和注意事项,需要的朋友参考一下 Java与Oracle实现事务(JDBC事务)实例详解 J2EE支持JDBC事务、JTA事务和容器事务事务,这里说一下怎样实现JDBC事务。 JDBC事务是由Connection对象所控制的,它提供了两种事务模式:
本文向大家介绍PHP使用Mysql事务实例解析,包括了PHP使用Mysql事务实例解析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了PHP使用MySQL事物的实例,并备有注释加以详细说明。分享给大家供大家参考之用。 具体实例如下所示: 希望本文所述实例对大家PHP+MySQL程序设计的学习有所帮助。
本文向大家介绍Yii2中事务的使用实例代码详解,包括了Yii2中事务的使用实例代码详解的使用技巧和注意事项,需要的朋友参考一下 前言 一般我们做业务逻辑,都不会仅仅关联一个数据表,所以,会面临事务问题。 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不
本文向大家介绍Mysql事务处理详解,包括了Mysql事务处理详解的使用技巧和注意事项,需要的朋友参考一下 一、Mysql事务概念 MySQL 事务主要用于处理操作量大,复杂度高的数据。由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务用来管理 insert,update,del
本文向大家介绍详解Spring Boot 事务的使用,包括了详解Spring Boot 事务的使用的使用技巧和注意事项,需要的朋友参考一下 spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。 关于事务管理器,不管是JPA还是JDBC等都