更新失败时的MySQL事务回滚

更新失败时的MySQL事务回滚,第1张

更新失败时的MySQL事务回滚

这是PHP中的(未经测试,需要适应您的情况):

mysql_query('START TRANSACTION;')mysql_query("UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';");if (mysql_affected_rows()){    mysql_query('COMMIT');} else {    mysql_query('ROLLBACK');}

或者,如果您想变得聪明一点,并在SQL中做到这一点(使用

ROW_COUNT()
IF
):

START TRANSACTION;UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';SELECT ROW_COUNT() INTO @affected_rows;-- .. other queries ...IF (affected_rows > 0) THEN    COMMIT;ELSE    ROLLBACK;END IF


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5144747.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存