【发布时间】:2018-12-07 04:19:01
【问题描述】:
我有一个程序,我可以从文件中提取单词并将这些单词插入 MySQL 的表中。
我的程序在文件中的所有单词都插入表后可以提交事务的情况下运行良好。如果在事务之间发生任何事情,则不会向表中插入任何内容,因为 autoCommit 设置为 false。
我想知道,一旦提交了事务,表中的记录是永久的,有没有办法撤消此类事务,如果有大量不同的事务,我如何设法撤消它们?
【问题讨论】:
-
你的问题不清楚。回滚不是UNDO,它旨在回滚部分完成的事务提交之前。希望它是 UNDO 并询问为什么它不是无效的。这不是回滚的定义方式。如果您想要 UNDO 功能,您必须自己提供。
-
它旨在回滚部分完成的事务。所以在我的情况下,因为我在提交之前正在插入表,如果发生任何事情,这些记录根本不会被插入。你说的是这个吗?
-
您可以将多个单独的操作分组到事务中。然后,您可以确保所有操作都以原子方式发生,或者都没有发生。事实上,回滚从未打算作为 UNDO 操作。