我正在学习 RDBMS 中的事务,我想我会用这段代码来测试它:
分隔符$$
开始交易;
插入 test4 值 (0,2);
插入 test4 值 (2,2);
插入 test4 值 (3,2);
插入 test4 值 (4,2);
插入 est4 值 (4,2);
插入 test4 值 (6,2);
插入 test4 值 (7,2);
插入 test4 值 (8,2);
插入 test4 值 (9,2);
插入 test4 值 (10,2);
插入 test4 值 (11,2);
插入 test4 值 (12,2);
结尾;
分隔符;
我故意保留第五条插入语句不正确,以便我可以测试事务如何工作。当我执行查询时,MySQL 按预期抛出了一个错误,但直到第四次插入的所有查询仍然保存在表中!为什么会发生这种情况? 是的,我正在使用支持事务的 InnoDB 引擎。我使用MySQL 14.14版本。 另外,我想知道保存点有什么用?假设我在事务中使用保存点,以便在事务失败时可以回滚到上一个成功的事务保存点。交易因失败而终止后会发生什么?从那时起,保存点将发挥什么作用? 谢谢!
最佳答案
关于mysql - 即使事务不完整,使用 InnoDB 引擎的 mysql 中的事务也会被保存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28516049/