MySQL中的事务是如何使用的

什么是企业

事务是一组逻辑操作,构成该操作的所有单元都不是成功的或失败的,这是一个事务。

注意:MySQL数据库支持事务,但是要求必须是InnoDB存储引擎

解决这个问题:

MySQL的事务解决了这个问题,因为MySQL的事务特性要求所有操作成功或失败,避免了一次操作,有些操作失败,数据的安全性。

如何使用:

(1)在执行SQL语句之前,我们必须打开事务启动事务;

(2)SQL语句的正常执行

(3)当SQL语句完成时,有两个实例:

1,他们都获得了成功,我们已经提交到数据库的SQL语句到数据库的影响,委员会

2,一些SQL语句失败,我们执行回滚(回滚),并迅速撤销数据库的操作。


(注:MySQL数据库支持事务,但是要求必须是InnoDB存储引擎)
MySQL >创建表的银行(name varchar(20),钱小数(5,1))= InnoDB引擎中
它的字符集utf8;

MySQL >插入银行价值('shaotuo ',1000),('laohu ',5000);

从银行选择*;
--------- -------- + + +
|名字|钱|
--------- -------- + + +
|韶托| 1000 |
|老虎| 5000 |
--------- -------- + + +

——没有成功回滚回滚的执行
启动事务;
查询OK,0行受影响(0秒)

MySQL >更新银行套钱=金钱+ 500 = 'shaotuo的名字;
查询OK,1行受影响(0秒)
匹配行:1更改:1个警告:0

MySQL >更新银行集金钱= money-500 name = 'laohu;
错误1054(42s22):未知column'moey'in'field列表
如果没有成功,则执行回滚操作。
查询OK,0行受影响(0.01秒)

从银行选择*;
--------- -------- + + +
|名字|钱|
--------- -------- + + +
|韶托| 1000 |
|老虎| 5000 |
--------- -------- + + +
——成功后提交操作
启动事务;
查询OK,0行受影响(0秒)

MySQL >更新银行套钱=金钱+ 500 = 'shaotuo的名字;
查询OK,1行受影响(0.01秒)
匹配行:1更改:1个警告:0

MySQL >更新银行套钱= money-500 name = 'laohu;
查询OK,1行受影响(0秒)
匹配行:1更改:1个警告:0

提交成功;(如果不是提交的实现,SQL语句不会影响真正的数据库)
查询OK,0行受影响(0.05秒)

从银行选择*;
--------- -------- + + +
|名字|钱|
--------- -------- + + +
|韶托| 1500 |
|老虎| 4500 |
--------- -------- + + +