≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > MySQL

MySQL中的事务是什么如何使用

人气:247 时间:2020-07-09

这篇文章主要为大家详细介绍了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 |
+---------+--------+

本文来自:http://www.q1010.com/177/9586-0.html

注:关于MySQL中的事务是什么如何使用的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:MYSQL

您可能感兴趣的文章

  • 使用MySQLdump导入数据和MySQLdump增量备份(MySQLdump使用方法)
  • MySQL数据库修改数据表引擎的方法
  • linux系统下实现MySQL热备份详细步骤(MySQL主从复制)
  • MySQL外键创建失败1005原因汇总
  • MySQL5.0入侵测试以及防范方法分享
  • windows和linux安装MySQL后启用日志管理功能的方法
  • MySQL服务无法启动报错误1067解决方法(MySQL启动错误1067    )
  • MySQL判断字段是否存在的方法
  • MySQL常用命令大全 MySQL常用命令总结
  • MySQL格式化小数保留小数点后两位(小数点格式化)
上一篇:MySQL如何实现多行查询结果合并成一行
下一篇:开启bin-log日志MySQL报错的解决方法
热门文章
  • mysql 修改character_set_server为utf-8的简单示例
  • 解决MySQL丢失文件localhost.localdomain.pid、mysql.sock的示例
  • MySQL 数据类型binary和varbinary的简单示例
  • MySQL:reading initial communication packet问题解决方法
  • MySql 表类型MYISAM、InnoDB区别
  • bash: mysql: command not found 的解决方法
  • MYSQL默认用户名ROOT修改方法
  • MySQL 常用命令菜鸟教程
  • MySQL 使用命令行新建用户并授予权限
  • MySql 数据库物理文件存放位置查看示例
  • 最新文章
    • MySQL查看死锁与解除死锁的简单示例
    • MySQL 慢查询的功能实例
    • MySQL查看死锁与去除死锁的简单示例
    • MySQL找出未提交事务的SQL的简单示例
    • MySQL锁阻塞的的简单示例
    • MySQL中的binary类型使用操作的示例
    • SQL优化教程之in与range查询的简单示例
    • MySQL 的 21 个规范、优化最佳实践!
    • MySQL 字符类型大小写敏感的简单示例
    • 解决mybatis-plus分页传入参数后sql where条件没有limit分页信息的问题

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。