2011-04-16 94 views
3

在php脚本中,如果我的查询不正确,请退出程序。 我的问题是,如果他们处于交易中,它会结束?将运行隐式ROLLBACK?交易未完成

mysql_query('BEGIN'); mysql_query('UPDATE ...'); mysql_close();

在这种情况下的行为像MySQL?并使用持久连接? (http://www.php.net/manual/en/function.mysql-pconnect.php#33994)

+0

请用英文写下最后一句 – 2011-04-16 12:29:03

+0

您发布的示例不起作用并且未执行交易 – 2011-04-16 16:18:31

回答

0

如果您的查询错误,并没有执行,那么没有什么会改变你的表..不要担心

1

当发生错误时,或者在提交之前由于任何原因会话关闭,MySQL引擎将回滚事务。只有已提交的事务持续存在。有关更多详细信息,请参阅transaction文档。

1

这取决于你如何从PHP端执行事务。

如果您使用简单的mysql_query函数分别运行每个事务语句,并且如果有任何查询失败,事务将不会回滚。

如果您正在存储过程中创建事务并从PHP调用该存储过程。如果任何查询在事务中失败,则这些更改将回滚。