如何回滚最后执行的mysql查询。假设有2-3个查询依赖于提交按钮,第一个查询运行成功,第二个失败则如何回滚第一个查询..
答案 0 :(得分:1)
使用mysql_rollback
或mysqli_rollback
取决于您使用的是mysql
还是mysqli
分机
此链接应该为您提供更清晰的想法
答案 1 :(得分:1)
您需要使用交易。
序列将是:
1)开始交易 2)发出一个或多个SQL命令 3)看看是否有任何错误 4)如果有错误,则发出ROLLBACK,如果不是COMMIT
注意:默认情况下,MySQL在启用自动提交模式的情况下运行。这意味着只要执行更新(修改)表的语句,MySQL就会将更新存储在磁盘上以使其永久化。 要对一系列语句隐式禁用自动提交模式,请使用START TRANSACTION语句,该语句将禁用自动提交,直到您使用COMMIT或ROLLBACK结束事务。
答案 2 :(得分:0)
使用交易:
START TRANSACTION;
SELECT * FROM tbl_foo;
SELECT * FROM llsldllfdlfdld; -- typo, fails!
ROLLBACK; -- reverses first transaction
如果一切正常,而不是ROLLBACK
,请发送COMMIT;
以使更改成为最终结果。