在完成之前从查询中返回错误

时间:2014-11-03 16:27:23

标签: php mysql error-handling return

我有以下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在其他语言中,但是没有找到任何东西。在这种情况下我应该使用什么?

1 个答案:

答案 0 :(得分:1)

也许您可以使用SIGNAL来引发错误。