mysql-14-transaction

Posted 王朝君BITer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql-14-transaction相关的知识,希望对你有一定的参考价值。

#TCL
/*
事务控制语言
事务:一个或一组sql语句组成一个执行单元,每条sql语句相互依赖
这个执行单元要么全部执行、要么全部失败后回滚

案例:转账

事务的acid属性
1.原子性:事务时一个不可分割的工作单位
2.一致性:事务必须使数据库从一个一致性状态转换为另一个一致性状态
3.隔离性:一个事务的执行不能被其他事务干扰(但也要看隔离级别)
4.持久性:一个事务一旦提交,改变是永久性的
*/

show engines;  # innodb支持事务

#事务的创建
#隐式事务:没有明显的开启和结束的标记。比如insert, update, delete语句
#显式事务:具有明显的开启和结束的标记,必须先设置自动提交功能为禁用
/*
set autocommit=0; 开启事务
start transaction;  可选的
语句1;
语句2;
savepoint point1;  保留点
...
commit/roll back;  结束事务  roll back to point1 回滚到指定保留点

delete可以回滚,truncate不能回滚
*/

USE test;

create table if not exists account(
	id int primary key auto_increment,
    username varchar(20),
    balance int
);

insert into account
values(null, ‘张无忌‘, 1000), (null, ‘赵敏‘, 1000);
select * from account;

set autocommit=0;
start transaction;
update account set balance=1000 where username=‘张无忌‘;
update account set balance=1500 where username=‘赵敏‘;
commit;

select * from account;

drop table account;

  

以上是关于mysql-14-transaction的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数