如何在php中回滚上次执行的mysql查询的效果

时间:2014-02-28 05:05:00

标签: php mysql

如何回滚最后执行的mysql查询。假设有2-3个查询依赖于提交按钮,第一个查询运行成功,第二个失败则如何回滚第一个查询..

3 个答案:

答案 0 :(得分:1)

使用mysql_rollbackmysqli_rollback取决于您使用的是mysql还是mysqli分机

此链接应该为您提供更清晰的想法

http://www.w3schools.com/php/func_mysqli_rollback.asp

答案 1 :(得分:1)

您需要使用交易。

序列将是:

1)开始交易 2)发出一个或多个SQL命令 3)看看是否有任何错误 4)如果有错误,则发出ROLLBACK,如果不是COMMIT

注意:默认情况下,MySQL在启用自动提交模式的情况下运行。这意味着只要执行更新(修改)表的语句,MySQL就会将更新存储在磁盘上以使其永久化。        要对一系列语句隐式禁用自动提交模式,请使用START TRANSACTION语句,该语句将禁用自动提交,直到您使用COMMIT或ROLLBACK结束事务。

Refer this

答案 2 :(得分:0)

使用交易:

START TRANSACTION;
SELECT * FROM tbl_foo;
SELECT * FROM llsldllfdlfdld; -- typo, fails!
ROLLBACK; -- reverses first transaction

如果一切正常,而不是ROLLBACK,请发送COMMIT;以使更改成为最终结果。