Рассмотрим следующее:
START TRANSACTION;
BEGIN;
INSERT INTO prp_property1 (module_name,environment_name,NAME,VALUE) VALUES ('','production','','300000');
/** Assume there is syntax error SQL here...**/
Blah blah blah
DELETE FROM prp_property1 WHERE environment_name = 'production';
COMMIT TRANSACTION;
Вопрос:
Я заметил, что транзакция автоматически откатывается, и попытка вставки записи не выполняется.
Если я не предоставляю обработчик ошибок или проверку ошибок вместе с ROLLBACK TRANSACTION
, как указано выше, безопасно ли это как выполнение задания в примере, как указано выше, потому что COMMIT TRANSACTION
никогда не выполняется?
Я предполагаю, что транзакция откат немедленно и отбрасывается, как только возникает ошибка.