-
mysql 中支持嵌套事务么?5
使用命令是不报错的,但是最外层的事务rollback了,发现在数据库中还是会多两条数据,这是为什么?
set autocommit=0;
start TRANSACTION ;
insert into person (firstName,lastName) VALUES ('tr1','tr2');
START transaction ;
insert into person (firstName,lastName) VALUES ('tr1','tr2');
commit;
ROLLBACK;2008年6月19日 11:46
3个答案 按时间排序 按投票排序
-
采纳的答案
引用http://hideto.iteye.com/blog/195275
MySQL存储过程之事务管理
讲得很清楚.2008年6月19日 12:46
-
set autocommit=0;
start TRANSACTION ;
insert into person (firstName,lastName) VALUES ('tr1','tr2');
START transaction ;
// 这个时候前一个事务已经被commit了. insert了一次.
insert into person (firstName,lastName) VALUES ('tr1','tr2');
commit;
// 又insert了一遍
ROLLBACK;2008年6月19日 12:46
-
START TRANSACTION:开始事务,autocommit设为0,如果已经有一个事务在运行,则会触发一个隐藏的COMMIT
引用mysql> select * from one;
Empty set (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into one values(1,'z');
Query OK, 1 row affected (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.03 sec)
mysql> select * from one;
+------+------+
| id | name |
+------+------+
| 1 | z |
+------+------+
1 row in set (0.00 sec)2008年6月19日 12:44
相关推荐
MySQL是支持嵌套事务的,但是没多少人会这么干的…. 前段时间在国外看到一些老外在争论MySQL嵌套事务的场景必要性。 逗死我了, 这嵌套的鬼畜用法还有啥场景必要性。 跟以前的dba同事聊过, 得知,在任何场景下都...
在PHP与MySQL交互时,由于MySQL本身不支持嵌套事务,即事务不能被嵌套在另一个事务...尽管MySQL本身不直接支持嵌套事务,但借助这些ORM框架,开发者可以在PHP中有效地处理类似情况,确保程序的稳定性和数据的一致性。
9. **存储过程和触发器**:MySQL 5.7对存储过程和触发器的处理能力进行了提升,支持嵌套调用和更复杂的逻辑控制,提升了数据库的程序化操作能力。 10. **性能监控**:新增的性能 Schema模块提供了丰富的数据库性能...
这使得复杂的业务逻辑得以实现,但需要注意嵌套事务的回滚规则和行为。 此外,MySQL的InnoDB存储引擎是默认支持事务的,而MyISAM则不支持。InnoDB提供了强大的事务处理能力,包括行级锁定和外键约束,这些都是保证...
2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...
5. **存储引擎**:MySQL支持多种存储引擎,如InnoDB(提供事务处理和支持外键)和MyISAM(注重速度但不支持事务)。文档会对比各种存储引擎的优缺点,指导用户根据实际需求选择合适的引擎。 6. **安全性与权限管理*...
2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...
MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在...
在架构方面,MySQL支持多种存储引擎,包括MyISAM、InnoDB等,其中MyISAM不支持事务处理,而InnoDB支持事务。相比之下,Oracle采用单一的存储引擎模型,支持事务处理,将表组织成索引-组织表、聚簇表、嵌套表等多种...
MySQL支持三种事务隔离级别: 1. **读未提交(READ UNCOMMITTED)**:最低级别,可能出现脏读。 2. **读已提交(READ COMMITTED)**:每次读取的都是事务提交后的数据,防止脏读,但可能出现不可重复读。 3. **可...
2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上...
2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上...
5. **存储过程和触发器的改进**:增强了存储过程和触发器的性能和可维护性,支持嵌套事务和保存点,使得数据库编程更加灵活。 6. **复制功能增强**:引入了半同步复制,确保在主服务器上的事务提交后才复制到从...
2. 存储过程和触发器的改进:支持嵌套事务和更好的调试工具。 3. 窗口函数:允许在SELECT语句中进行复杂的统计计算,如排名、分组等。 4. JSON支持:MySQL 5.7引入了JSON字段类型,但5.6版开始预示着对JSON数据的...
1. **InnoDB存储引擎**:InnoDB是MySQL中最常用且支持事务处理的存储引擎,5.1版本对它进行了加强,提高了并发性能和数据一致性。例如,InnoDB支持多线程插入缓冲,提高了大量插入操作的效率;另外,InnoDB表空间...
2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...
4. **增强的存储过程**:该版本提供了更好的存储过程功能,如支持嵌套事务和条件语句,使得存储过程更加灵活和强大。 5. **安全增强**:5.7版强化了安全性,引入了增强的密码验证插件,提高了默认的安全设置,如...
2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...