考虑以下几点:
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从未被执行?
我认为一旦发生错误,事务将立即回滚并丢弃.