码迷,mamicode.com
首页 > 数据库 > 详细

Mysql 事务管理

时间:2020-07-10 13:05:20      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:l命令   mysql 事务   强制   数据库   table   数据   value   回滚   一个   

Mysql 和其它的数据库产品有一个很大的不同就是事务由存储引擎所决定,例如 MYISAM,MEMORY,ARCHIVE 都不支持事务,事务就是为了解决一组查询要么全部执行成功,要么全部执行失败。

Mysql 事务默认是采取自动提交的模式,除非显示开始一个事务

MariaDB [(none)]> show variables like ‘autocommit‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
1 row in set (0.00 sec)

修改自动提交模式:0=OFF,1=ON

注意:修改自动提交对非事务类型的表是无效的,因为它们本身就没有提交和回滚的概念,还有一些命令是会强制自动提交的,比如DLL命令、lock tables等。

SET AUTOCOMMIT=OFF
或
SET AUTOCOMMIT=0

事务的 ACID 特性:原子性,一致性,隔离性,持久性。

原子性:事务是不可分割的最小工作单元,整个事务要么全部提交要么全部回滚失败。

一致性:数据库总是从一个一致性状态转换到另一个一致性的状态。

隔离性: 一个事务所做的更改在最终提交之前其它事务是不可见的。

持久性:事务一旦提交所做的修改就会永久保存在数据库中,即使系统崩溃,数据也不会丢失。

Mysql 事务管理

标签:l命令   mysql 事务   强制   数据库   table   数据   value   回滚   一个   

原文地址:https://www.cnblogs.com/zzzwqh/p/13278583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!