优的深圳网站设计公司,怎么在网上注册自己的网站,qq业务网站平台,萧山好的做网站的公司使用事务有两种方式#xff1a;显式事务和隐式事务。
1. 显式事务
步骤1#xff1a;
START TRANSACTION或者BEGIN#xff0c;作用是显式开启一个事务。
START TRANSACTION语句相较于BEGIN特别之处在于#xff0c;后面能跟几个修饰符。比如#xff1a;
READ ONLY…使用事务有两种方式显式事务和隐式事务。
1. 显式事务
步骤1
START TRANSACTION或者BEGIN作用是显式开启一个事务。
START TRANSACTION语句相较于BEGIN特别之处在于后面能跟几个修饰符。比如
READ ONLY标识当前事务是一个只读事务也就是属于该事务的数据库操作只能读取数据而不能修改数据。注意只读事务中只是不允许修改那些其他事务也能访问到的表中的数据对于临时表来说由于它们只能在当前会话可见所以只读事务其实也是可以对临时表做DML操作的。READ WRITE默认情况标识当前事务是一个读写事务也就是属于该事务的数据库操可以写入数据也可以读取数据。with consistent snapshot启动一致性读。
read only和read write是用来设置所谓的事务访问模式的就是以只读还是读写的方式来访问数据库的数据一个事务的访问模式不能同时设置为只读和读写。所以不能把read only和read write放在START TRANSACTION后。
步骤2
一系列事务中的操作主要是DML不含DDL
步骤3
提交事务或中止事务回滚事务。
提交事务COMMIT
回滚事务撤销正在进行的所有没提交的修改ROLLBACK
回滚到保存点rollback to savepoint;
在事务中创建保存点方便以后对保存点进行回滚。一个事务可以存在多个保存点savepoint 保存点名称
删除某个保存点release savepoint 保存点名称
2. 隐式事务
MySQL中有个系统变量autocommit.默认开启autocommitonDML操作是个独立的事务自动提交。
可以关闭自动提交。
set autocommitfalse在autocommittrue前提下使用START TRANSACTION开启事务那么DML操作不会自动提交数据。
3. 隐式提交数据情况
DDL操作。数据库对象指的就是数据库表视图存储过程等结构。当我们使用CREATEALTERDROP等语句去修改数据库对象时就会隐式的提交前边语句所属于的事务。隐式使用或修改MySQL数据库中的表。当我们使用ALTER USERCREATE USERDROP USERRENAME USERREVOKESET PASSWORD等语句时会隐式的提交前边的语句所属于的事务。事务控制或关于锁定的语句当我们在一个事务还没提交或者回滚时就又使用START TRANSACTION或者BEGIN语句开启了另一个事务时会隐式提交上一个事务。当前的autocommit系统变量的值为OFF手动调为ON时也会隐式的提交。