Примите во внимание следующее:
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
никогда не выполняется?
Я предполагаю, что транзакция немедленно откатывается и отменяется, как только возникает ошибка.