美文网首页
Mysql中的事物是什么?

Mysql中的事物是什么?

作者: sph_ui | 来源:发表于2018-03-27 21:31 被阅读0次

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 |
+---------+--------+

相关文章

  • Mysql中的事物是什么?

    Mysql中的事物是什么?怎么使用 什么是事物? 事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不...

  • Mysql中事物隔离问题

    脏读:当前事物可以查看别的事物未提交的数据幻读:幻读与不可重复读很容易让人搞混,幻读的侧重点在于新增和删除。表示在...

  • MySql事物

    在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 一般来说,事务是必须满足4个条件(...

  • mysql事物

    1、一天sql语句就是一条事物默认开启默认提交2、可以显示的开启事务、回滚事物、提交事务2.1、开启事务 star...

  • mysql 事物

    来源:转载 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用...

  • MYSQL 事物

    前言 这篇文章主要是讲解 MYSQL 事物相关知识。 什么是 MYSQL ? MySQL 是一个关系型数据库管理系...

  • Mysql事物

    事务的特点: //ACID 不考虑隔离性, 有可能出现以下问题 考虑隔离性:

  • 关于MySql中的事物隔离级别

    read uncommitted (未提交读) 级别 事务中的修改,即使没有提交,对其他事物也都是可见的。事务可以...

  • mysql 面试题

    1、MySQL中myisam与innodb的区别,至少5点: InnoDB支持事物,而MyISAM不支持事物 In...

  • 第十节、事物的隔离

    在mysql中,事物支持是在引擎层实现的,mysql是一个支持多引擎的系统,但并不是所有的引擎都支持事物。比如my...

网友评论

      本文标题:Mysql中的事物是什么?

      本文链接:https://www.haomeiwen.com/subject/sgqecftx.html