mysql 一条sql 事务_MySQL的事务
MySQL中事务是一个最小的不可分割的工作单元,事务能保证一个业务的完整性
一个业务中有多条sql语句,这些sql语句必须同时成功或同时失败,这时需要要事务来保证这个要求。
例如:a从自己的银行卡上转100给b
update user set money=money-100 where name='a';
update user set moeny=money+100 where name='b';
这两个sql语句必须同时成功或同时失败,这就需要事务
MySQL里是自动开启事务和自动提交数据的,这样每执行一个sql语句都会将数据提交到数据库中,这样就完成一个事务
提交到数据库中的记录是不能撤销的,这样如果后面的sql语句执行不了,前面的sql就不能撤回了。
我们可以关闭自动开启事务和自动提交数据,这样我们可以设置一个事务里有多个sql语句,在它们全部执行完时,在向数据库提交数据,这样就能解决sql多个语句同时成功的操作
撤销未提交的sql操作为 rollback
关闭自动开启事务和自动提交数据 set autocommit =0;
开启事务:begin/start transaction;
手动提交数据 :commit
事例:
手动设置事务,关闭自动提交数据功能,我们在cmd上进行的多个sql操作不会将数据提交到数据库中 手动开启事务 begin;
我们在另一个cmd中查看数据库数据没有受其影响
我们手动提交数据commit
这时cmd中的操作记录才被传到数据库,在没有提交前,一个rollback就可以撤销这个事务中所有的sql语句
提交后,数据库才会将库中的数据修改。
事务的四大特性
1:原子性 事务是最小单位,不可拆分
2:一致性 事务中sql语句必须同时成功或同时失败
3:隔离性 不同的事务是不会相互影响的
4:持久性 事务完成提交数据后不能再撤回了。
mysql 一条sql 事务_MySQL的事务相关推荐
- mysql 两条sql合并_mysql 如何将两条sql的结果合并到一列,
想要达到这样的效果 两条sql 只有一个 card.type 条件不一样 0,于1 的区别 , 最后希望结果等于 comp.comp_info_id, comp.comp_name, card.sch ...
- mysql的从节点能否执行事务_MySQL执行事务的语法与流程详解
摘要:MySQL 提供了多种存储引擎来支持事务. MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 ...
- mysql链事务_MYSQL 之事务篇
事务概述 在引入事务之前我们先考虑银行转账的操作: # 从id=1的账户给id=2的账户转账100元 # 第一步:将id=1的A账户余额减去100 UPDATE accounts SET balanc ...
- MySQL 一条sql添加多个索引或添加多个列(字段)
MySQL 一条sql添加多个索引或添加多个列(字段) MySQL 一次添加多个索引 ALTER TABLE table_name ADD INDEX idx1 ( `aaa`), ADD INDE ...
- MySQL一条SQL语句查询多个科目的成绩
MySQL一条SQL语句查询多个科目的成绩 SELECT pn.name,c.`cname`,SUM(CASE WHEN ps.coid='1' THEN sname END )AS 'domain' ...
- mysql innodb禁用事务_MySQL InnoDB事务中锁问题(三)
试想,事务如果都是串行的,那么就不需要锁了,但是性能肯定没法接受.加锁只是为了提高事务并行度,并且解决并发事务执行过程中引起的脏写.脏读.不可重复读.幻读这些问题的一种解决方案(MVCC算是一种解决脏 ...
- mysql数据 锁 隔离级别_MySQL数据库事务各隔离级别加锁情况--read uncommitted篇
1.目的 1.1 合适人群 1.数据库事务特征我只是背过,并没有很深刻的理解. 2.数据库事务的隔离级别只是了解,并没有深刻理解,也没有在实际工作中体验使用过. 3.经常面试被人问起数据库加锁情况,一 ...
- mysql innodb 默认隔离级别_MySQL Innodb 事务隔离级别
在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象. Read uncommitted (未提交读) Read committed ...
- python执行mysql多个sql语句_mysql -- 一次执行多条sql语句
最近要做一个软件升级,其中涉及到数据库表字段的变动(新增或删除或修改),所有的关于数据库的变动的sql语句都是存放在Sqlupdate.sql文件中,每次升级的时候都需要执行一次Sqlupdate.s ...
最新文章
- 字符“23.00”转成int型!Input string was not in a correct format.
- 高通 MSM8K bootloader : SBL1 .
- 计算机原理解读图,详细讲解仪器仪表测试系统,结构原理图拿走不谢
- 公共钥匙盒(排序CCF)
- MS CRM 2011 Form与Web Resource在JScript中的相互调用
- linux内核源码剖析 博客,【Linux内存源码分析】页面迁移
- JAVA基础学习day25--Socket基础二-多线程
- 九九乘法表(Java)
- 一个高性能RPC框架的连接管理
- worldwind java 教程_科学网—用worldwind java SDK开发应用程序 - 谢安涛的博文
- T430s BIOS白名单破解
- 微信利用小号和大号的好友聊天(基于wxpy库)
- 在Excel数据最后一行下面写入数据的一种方法
- 小程序真机调试连接本地服务器进行调试
- Linux下system () 函数详解简介
- 使用snap安装mosquitto并且进行初步配置
- every和some的区别
- 觉得还不错的国内外编程技术网站、论坛列表
- 常用的国外遥感卫星网站
- 基于C++的自动驾驶公交车调度系统
热门文章
- 为何需要搭建大数据平台
- 大数据分析给企业带来哪些挑战
- mysql utf-8转utf8mb4_MySQL UTF8 转为 utf8mb4
- 使用QEMU实现vexpress-ca9板卡的linux启动
- 小红的真真假假签到题题(构造+思维)
- The Suspects(并查集入门)
- 在php中默认访问权限修饰符是,php中访问修饰符的知识点总结
- 学习C++项目——数据库知识学习(主从原理,分离配置,远程工具只是了解,都没有实现)
- large计算机应用,cies - 计算机应用.pdf
- 一篇搞定导航守卫(vue-router源码学习)