前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL事务

MySQL事务

作者头像
嘉美伯爵
发布2021-01-18 11:12:10
发布2021-01-18 11:12:10
2.2K00
代码可运行
举报
运行总次数:0
代码可运行

事务

为保证业务的完整性,当一条语句出现错误,则此步骤全部回退

  • 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行
  • 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致
  • 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的
  • 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

提交

  • 默认隔离级别可重复读,若事务级别为读已提交,则终端二不commit的情况下可以读取到终端一的数据。
代码语言:javascript
代码运行次数:0
复制
### 终端一
begin; 开启
insert into students (sname) value ("sss");
commit; 只有commit才表示执行成功
### 终端二
mysql> select * from students;
+----+-------+
| id | sname |
+----+-------+
|  1 | Gage  |
|  2 | sss   |
+----+-------+

回退

代码语言:javascript
代码运行次数:0
复制
### 终端一
begin; 开启
insert into students (sname) value ("sss");
rollback;  人为异常,事务回退
insert into students (sname) value ("kksk"); 测试语句
### 终端二
mysql> select * from students;
+----+-------+
| id | sname |
+----+-------+
|  1 | Gage  |
|  2 | sss   |
|  4 | kksk  |
+----+-------+
  • 查看隔离级别
代码语言:javascript
代码运行次数:0
复制
mysql> show variables like "%iso%";
+-----------------------+-----------------+
| Variable_name         | Value           |
+-----------------------+-----------------+
| transaction_isolation | REPEATABLE-READ |
+-----------------------+-----------------+
1 row in set, 1 warning (0.01 sec)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/10/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 事务
    • 提交
    • 回退
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档