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

在执行sql语句之前,我们要开启事务 start transaction; (2)正常执行我们的sql语句 (3)当sql语句执行完毕,存在两种情况: 1,全都成功,我们要将sql语句对数据库造成的影响提交到数据库中,committ 2,某些sql语句失败,我们执行rollback(回滚),将对数据库操作赶紧撤销 (注意:mysql数据支持事务...
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事务处理)通过唯一索引S锁与X锁来了解MySQL死锁套路MySQL死锁套路之唯一索引下批量插入顺序不一致由不同的索引更新解决MySQL死锁套路当Mysql行锁遇到复合主键与多列索引详解MySql 知识点之事务、索引、锁原理与用法解析 2023-07-27
mengvlog 阅读 141 次 更新于 2025-10-30 14:13:26 我来答关注问题0
  • 事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务 注意:mysql数据支持事务,但是要求必须是innoDB存储引擎 解决这个问题: mysql的事务解决这个问题,因为mysql的事务特性,要求这组操作,要不全都成功,要不全都失败,这样就避免了某个操作成功某个操作失败。

  •  云易网络科技 MySQL事务操作指南mysql中事务写法

    事务(Transaction)是一组数据库操作语句(DML)的集合,这组操作要么全部执行,要么全部不执行,即事务是数据库上的一个原子操作,要么全部成功,要么全部失败。事务可以确保数据库操作的完整性和一致性,因此在多用户并发访问数据库时能保证数据的正确性和稳定性。在MySQL中,事务可以通过以下语句实现:STA...

  •  文暄生活科普 MySQL 事务有原子性、隔离性、一致性和持久性四大特性,为什么偏偏给隔离性设置了级别?

    在MySQL中,事务的默认行为是自动提交,即每条SQL语句构成一个事务,自动执行后即提交。然而,对于涉及多条SQL语句的业务操作,自动提交可能不是最佳选择。因此,MySQL提供了手动开启事务的功能,通过BEGIN或START TRANSACTION实现。MySQL的事务管理中,还有一个重要概念是autocommit系统变量,它决定了是否自动提交...

  •  少年真奇妙 谈谈你对 mysql 事务的认识 我是php初学者不懂这个 想请教大神教我

    先简单介绍一下事务吧!事务是DBMS得执行单位。它由有限得数据库操作序列组成得。但不是任意得数据库操作序列都能成为事务。一般来说,事务是必须满足4个条件(ACID)原子性(Autmic):事务在执行性,要做到“要么不做,要么全做!”,就是说不允许事务部分得执行。即使因为故障而使事务不能完成,在r...

  •  翡希信息咨询 走进高性能Mysql(二)

    事务隔离级别:Mysql可通过执行SET TRANSACTION ISOLATION LEVEL命令来设置隔离级别。新的隔离级别会在下一个事务开始时生效。可在配置文件中设置整个数据库的隔离级别,也可以只改变当前会话的隔离级别,如:SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;。事务中混合使用存储引擎事务都是由Mysql下层...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部