2011-04-16 87 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調用該存儲過程。如果任何查詢在事務中失敗,則這些更改將回滾。