8

我正在尝试在 MySql 中创建一个事务,该事务将在事务期间发生异常时回滚。在存储过程中使用以下类似。

DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK; 

这可以在不编写存储过程的情况下完成吗?例如,下面的代码片段应该回滚第一个插入,因为第二个插入会失败。

START TRANSACTION;
INSERT INTO mytable VALUE 'foo1',2,'foo3','foo4'
INSERT INTO mytable VALUE 'foo1','foo2','foo3','foo4'
COMMIT
4

1 回答 1

5

如果我理解正确,您希望在单个事务中运行包含例如插入的 SQL 脚本,如果任何插入失败,该事务将回滚。是正确的?

我对此不是 100% 的,但我很确定您需要将其作为存储过程或以编程方式在 Java 中执行。

于 2012-10-09T14:27:33.317 回答