事件起因: 在将一些EXCEL维护的数据导入MySQL中维护过程中发现漏了一些数据,检查时发现看着相同的SQL返回的结果完全不同: 在SQLyog中看到的截图如: 两个SQL执行返回结果不同,其中一条SQL中WMS_REPORT1是键盘输入的,另一条SQL的WMS_REPORT1 ...
众所周知MySQL的DDL语句是非事务的,即不能对DLL语句进行回滚操作,哪在事务中包含DDL语句会怎样呢 如: 这时候如果执行rollback,会发现插入到tb 中数据没有被回滚: 如果查看binlog: 在创建tb 之前,有一个commit操作将上面语句中的事务进行提交,因此虽然后面执行了rollback操作,但实际上rollback的是另外一个空事务,所以没有任何数据发生 回滚 。 在执行研 ...
2017-10-02 19:49 3 4527 推荐指数:
事件起因: 在将一些EXCEL维护的数据导入MySQL中维护过程中发现漏了一些数据,检查时发现看着相同的SQL返回的结果完全不同: 在SQLyog中看到的截图如: 两个SQL执行返回结果不同,其中一条SQL中WMS_REPORT1是键盘输入的,另一条SQL的WMS_REPORT1 ...
事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 删除的SQL语句delete ...
MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级锁定,对 InnoDB 存储引擎的表进行行级锁定。默认情况下,表锁和行锁都是自动获得的,不需要额外的命令。但是在有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务 ...
DDL主要负责数据库的创/改/查/删以及表格的创/改/查/删 1.创建数据库: 例如: 2.查看数据库: 3.查看数据库创建明细: 4.修改数据库编码: 5.删除数据库: 6.使用数据库 ...
事务回滚机制 其实,讨论MySQL的事务回滚机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。 所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须回滚,数据库会退回 ...
DDL为隐式提交若出现在begin与rollback之间,则会直接提交ddl之前的语句,如下: 在遇到第一句ddl语句执行之后,已commit,导致最后的rollback不起作用 [即使设置 autocommit为false,依然无法回滚] mysql> show ...
TRANSACTION(事务隔离级别) 在说明事务隔离级别之前先说一下脏读、不可重复读、幻读这三个概念。 脏读:一个事务读取到另一事务未提交的更新新据。当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数 ...
在上篇《MySQL--当mysqldump --single-transaction遇到alter table》中测试发现,在MySQL 5.6版本中,如果在mysqldump期间修改表,可能会导致mysqldump报错,而该结论与同事的执行现象不符,因此在MySQL 5.5版本中进行下测试 ...