顺序执行多条sql,一条执行失败则所有都执行失败;例如第一条成功,第二条失败的话,第一条也失败!急!

2025-03-23 13:14:42
推荐回答(3个)
回答1:

这种情况只能用事务来解决,如果第一条执行成功,后面的语句执行失败的话可以用ROLLBACK来回滚,撤消先前的操作。
补充:
myISAM是非事务型引擎,不支持事务的,InnoDB是事务型引擎。

回答2:

BEGIN TRANSACTION
语句1;
语句2;
....
语句N;
COMMIT TRANSACTION

回答3:

Begin TRANSACTION
语句1;
If @@error<>0 Goto error
语句2;
If @@error<>0 Goto error

Commit TRANSACTION
Return
error:
Rollback TRANSACTION
我在MS SQL中测试过可以的,MY SQL没用过。