我有以下mysql脚本:
start transaction;
set autocommit = 0;
call RollbackRemove(1, 10);
call RollbackRemove(2, 5000);
commit;
和程序:
create procedure RollbackRemove(a INT, b NUMERIC(8, 0))
begin
declare ret bool;
select Remove(a, b) into ret;
if not ret then
rollback;
end if;
end //
它尝试从每个项目中删除一定数量,如果一个删除失败,则事务被回滚(内部过程)。但是,我注意到即使在调用rollback之后脚本仍继续执行,但这是不可取的。此外,我希望能够报告错误(这将从PHP调用)。我一直在寻找能够更快结束脚本的机制,比如return
在其他语言中,但是没有找到任何东西。在这种情况下我应该使用什么?