首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用InnoDB引擎的mysql中的事务即使在事务不完整的情况下也能保存?

问使用InnoDB引擎的mysql中的事务即使在事务不完整的情况下也能保存?
EN

Stack Overflow用户
提问于 2015-02-14 21:21:40
回答 1查看 127关注 0票数 1

我正在学习RDBMS中的事务,我想我应该用这段代码来测试它:

DELIMITER $$ START TRANSACTION; INSERT INTO test4 VALUES (0,2); INSERT INTO test4 VALUES (2,2); INSERT INTO test4 VALUES (3,2); INSERT INTO test4 VALUES (4,2); INSERT INTO est4 VALUES (4,2); INSERT INTO test4 VALUES (6,2); INSERT INTO test4 VALUES (7,2); INSERT INTO test4 VALUES (8,2); INSERT INTO test4 VALUES (9,2); INSERT INTO test4 VALUES (10,2); INSERT INTO test4 VALUES (11,2); INSERT INTO test4 VALUES (12,2); END; DELIMITER ;

我故意让第五个insert语句不正确,这样我就可以测试事务是如何工作的。当我执行查询时,MySQL如预期的那样抛出了一个错误,但是直到第四次插入之前的所有查询仍然保存在表中!为什么会发生这种情况?是的,我使用的是支持事务的InnoDB引擎。我使用的是14.14版本的MySQL。另外,我想知道保存点的用途是什么?假设我在事务中使用保存点,以便在事务失败的情况下回滚到上一个成功的事务保存点。事务因故障终止后会发生什么情况?从那时起,savepoint将扮演什么角色?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-02-14 21:26:31

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28516049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档