Mysql中的事务是什么如何使用
来源:互联网 发布:java 静态方法 编辑:程序博客网 时间:2024/06/18 13:07
事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务,下面为大家介绍下Mysql中的事务的具体使用
什么是事务? 事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务
注意:mysql数据支持事务,但是要求必须是innoDB存储引擎
解决这个问题:
mysql的事务解决这个问题,因为mysql的事务特性,要求这组操作,要不全都成功,要不全都失败,这样就避免了某个操作成功某个操作失败。利于数据的安全
如何使用:
(1)在执行sql语句之前,我们要开启事务 start transaction;
(2)正常执行我们的sql语句
(3)当sql语句执行完毕,存在两种情况:
1,全都成功,我们要将sql语句对数据库造成的影响提交到数据库中,committ
2,某些sql语句失败,我们执行rollback(回滚),将对数据库操作赶紧撤销
(注意:mysql数据支持事务,但是要求必须是innoDB存储引擎)
mysql> create table bank(name varchar(20),money decimal(5,1))engine=innodb defau
lt charset=utf8;
mysql> inset into bank values('shaotuo',1000),('laohu',5000);
mysql> select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1000.0 |
| laohu | 5000.0 |
+---------+--------+
------没有成功“回滚”执行rollback
mysql> start transaction; //开启事务
Query OK, 0 rows affected (0.00 sec)
mysql> update bank set money=money+500 where name='shaotuo';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update bank set moey=money-500 where name='laohu';
ERROR 1054 (42S22): Unknown column 'moey' in 'field list'
mysql> rollback; //只要有一个不成功,执行rollback操作
Query OK, 0 rows affected (0.01 sec)
mysql> select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1000.0 |
| laohu | 5000.0 |
+---------+--------+
------成功之后 进行commit操作
mysql> start transaction; //开启事务
Query OK, 0 rows affected (0.00 sec)
mysql> update bank set money=money+500 where name='shaotuo';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update bank set money=money-500 where name='laohu';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> commit; //两个都成功后执行commit(只要不执行commit,sql语句不会对真实的数据库造成影响)
Query OK, 0 rows affected (0.05 sec)
mysql> select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1500.0 |
| laohu | 4500.0 |
+---------+--------+
0 0
- Mysql中的事务是什么如何使用
- 数据库中的事务是什么
- 数据库中的事务是什么
- Mysql中的事物是什么?怎么使用?
- golang中如何使用mysql事务
- MySQL的事务和Java中的使用
- 【Day20】数据库中的事务是什么 ?
- Linux中的yum是什么?如何配置?如何使用?
- mysql 中的information_schema是什么
- Mysql 中的事务
- MySQL中的事务
- MySql中的事务
- MySQL中的事务
- 漫谈MySql中的事务
- 说说MySQL中的事务
- MySQL中的XA事务
- MySQL中的事务初探
- mysql中的事务总结
- POJ 3228 -- Gold Transportation【二分 && 最大流】
- ios基本测试之自动化测试的实例
- dojo store
- Linux学习笔记-----挂载U盘
- 记一次TIME_WAIT网络故障
- Mysql中的事务是什么如何使用
- python 学习非常好的博客
- 主线程实现异步
- 【Unity】常用代码
- Android系统五大布局详解Layout
- C语言易混淆关键词详解-const, static, extern, typedef, 声明
- mysql检测重复索引
- VCTransitionsLibrary –自定义iOS交互式转场动画的库
- 反射