0 0

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个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
http://hideto.iteye.com/blog/195275


MySQL存储过程之事务管理

讲得很清楚.

2008年6月19日 12:46
0 0

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
0 0

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是支持嵌套事务的,但是没多少人会这么干的…. 前段时间在国外看到一些老外在争论MySQL嵌套事务的场景必要性。 逗死我了, 这嵌套的鬼畜用法还有啥场景必要性。 跟以前的dba同事聊过, 得知,在任何场景下都...

    PHP中实现MySQL嵌套事务的两种解决方案

    在PHP与MySQL交互时,由于MySQL本身不支持嵌套事务,即事务不能被嵌套在另一个事务...尽管MySQL本身不直接支持嵌套事务,但借助这些ORM框架,开发者可以在PHP中有效地处理类似情况,确保程序的稳定性和数据的一致性。

    MySQL 5.7 中文文档

    9. **存储过程和触发器**:MySQL 5.7对存储过程和触发器的处理能力进行了提升,支持嵌套调用和更复杂的逻辑控制,提升了数据库的程序化操作能力。 10. **性能监控**:新增的性能 Schema模块提供了丰富的数据库性能...

    MySQL中的事务.rar

    这使得复杂的业务逻辑得以实现,但需要注意嵌套事务的回滚规则和行为。 此外,MySQL的InnoDB存储引擎是默认支持事务的,而MyISAM则不支持。InnoDB提供了强大的事务处理能力,包括行级锁定和外键约束,这些都是保证...

    MySQL 5.1中文手冊

    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中文帮助文档

    5. **存储引擎**:MySQL支持多种存储引擎,如InnoDB(提供事务处理和支持外键)和MyISAM(注重速度但不支持事务)。文档会对比各种存储引擎的优缺点,指导用户根据实际需求选择合适的引擎。 6. **安全性与权限管理*...

    MySQL 5.1官方简体中文参考手册

    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上安装...

    mysql5.1中文手册

    MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在...

    MySQL VS ORACLE.pdf

    在架构方面,MySQL支持多种存储引擎,包括MyISAM、InnoDB等,其中MyISAM不支持事务处理,而InnoDB支持事务。相比之下,Oracle采用单一的存储引擎模型,支持事务处理,将表组织成索引-组织表、聚簇表、嵌套表等多种...

    MySQL多表查询、事务和管理用户及授权

    MySQL支持三种事务隔离级别: 1. **读未提交(READ UNCOMMITTED)**:最低级别,可能出现脏读。 2. **读已提交(READ COMMITTED)**:每次读取的都是事务提交后的数据,防止脏读,但可能出现不可重复读。 3. **可...

    MYSQL中文手册

    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 5.1参考手册中文版

    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-5.5.62-winx64.zip

    5. **存储过程和触发器的改进**:增强了存储过程和触发器的性能和可维护性,支持嵌套事务和保存点,使得数据库编程更加灵活。 6. **复制功能增强**:引入了半同步复制,确保在主服务器上的事务提交后才复制到从...

    mysql5.6.26源码包

    2. 存储过程和触发器的改进:支持嵌套事务和更好的调试工具。 3. 窗口函数:允许在SELECT语句中进行复杂的统计计算,如排名、分组等。 4. JSON支持:MySQL 5.7引入了JSON字段类型,但5.6版开始预示着对JSON数据的...

    MySQL5.1官方文档(中文)

    1. **InnoDB存储引擎**:InnoDB是MySQL中最常用且支持事务处理的存储引擎,5.1版本对它进行了加强,提高了并发性能和数据一致性。例如,InnoDB支持多线程插入缓冲,提高了大量插入操作的效率;另外,InnoDB表空间...

    MySQL 5.1参考手册

    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-v5.7.27

    4. **增强的存储过程**:该版本提供了更好的存储过程功能,如支持嵌套事务和条件语句,使得存储过程更加灵活和强大。 5. **安全增强**:5.7版强化了安全性,引入了增强的密码验证插件,提高了默认的安全设置,如...

    MySQL5.1参考手册官方简体中文版

    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上安装...

Global site tag (gtag.js) - Google Analytics