я следующий тузд сценария:Возврат ошибки от запроса до окончания его
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 //
Он пытается удалить определенную сумму с каждого пункта, и если один удалить не удается, транзакция откатывается (внутри процедуры). Тем не менее, я заметил, что даже после вызова отката сценарий продолжает выполнение, но это нежелательно. Также я хотел бы сообщить об ошибке (это будет вызвано из php). Я искал механизм, который раньше закончил бы скрипт, что-то вроде return
на других языках, но ничего не нашел. Что я должен использовать в такой ситуации?
Вы можете использовать [exit()] (http://php.net/manual/en/function.exit.php). –
Все ли в MySQL? –
возможно этот: http://stackoverflow.com/a/1275431/650405? ugly as ... –