0
假设您有3个相关表,并且您必须执行3个mysql查询来插入/更新其值。如果其中一个失败或插入一个不适当的值,是否有办法撤消/回滚事务或在事务上设置一些约束规则,或者您是否总是必须自行检查每个事务?确保mysql事务成功完成的可能方法是什么?
假设您有3个相关表,并且您必须执行3个mysql查询来插入/更新其值。如果其中一个失败或插入一个不适当的值,是否有办法撤消/回滚事务或在事务上设置一些约束规则,或者您是否总是必须自行检查每个事务?确保mysql事务成功完成的可能方法是什么?
用下面的代码你可以做任何查询..但是如果一个错误查询被回滚。
BEGIN TRANSACTION
BEGIN TRY
//do every query you need. if one errors it everything is off.
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage
ROLLBACK TRANSACTION
END CATCH