執行「LOCK TABLES」時,將調用包裝在try/catch中以確保在出現異常時表格被解鎖是明智的做法嗎?在MySQL中,最好的做法是在try catch中包裝LOCK TABLES調用?
4
A
回答
2
一般來說,使用try { } catch
是一個好主意,用於需要在發生任何錯誤時撤銷先前操作的操作;它不僅限於數據庫語句。
也就是說,在使用數據庫時,建議使用更細化的鎖定機制,例如InnoDB等事務數據庫附帶的鎖定機制。你仍然會使用try { } catch
,但以這種方式:
// start a new transaction
$db->beginTransaction();
try {
// do stuff
// make the changes permament
$db->commit();
} catch (Exception $e) {
// roll back any changes you've made
$db->rollback();
throw $e;
}
解決衝突的確切行爲由事務隔離級別,這是可以改變的,以滿足您的需求來定義。
相關問題
- 1. Java - 在try/catch中執行try/catch是不好的做法嗎?
- 2. 在try-catch中包含服務執行:不好的做法?
- 3. 在PDO中使用try和catch的最好方法是什麼
- 4. 在try/catch塊中包裝web服務
- 5. 如何在try-catch塊中包裝每個WCF調用
- 6. 使用方法聲明在try/catch塊中包裝Linq查詢
- 7. 在try/catch中的AlertDialog中烤麪包
- 8. 我應該在Try/Catch塊中包裝ADODB.RecordSet.Open/Close方法嗎?
- 9. 我是否需要在try/catch中包裝Trace.TraceError?
- 10. 笨和LOCK TABLES
- 11. mysqldump --lock-all-tables
- 12. 在Try-Catch Block中使用Javascript包裝函數
- 13. 在Java中的try-catch塊中嵌入try-catch塊
- 14. 處理Application.ThreadException和將Application.Run包裝在Try/Catch中的區別
- 15. 鴨子打jQuery .on來包裝回調在try/catch
- 16. 包含在try..catch環路
- 17. 在java中的構造函數中使用try和catch塊是否好的做法
- 18. 的try/catch不是在PowerShell中
- 19. 在Java中簡化try/catch的方法
- 20. try catch的用法
- 21. 在try catch塊中返回的更好用法是什麼?所以下面
- 22. 如何在try catch語句中包裝MVVM Light ViewModel?
- 23. Regex識別包含在.cs文件中的Try-Catch和Try-Catch finally塊
- 24. Try/Catch /最後,最後使用catch中的異常?
- 25. MySQL&C#MySql.Data.MySqlClient.MySqlException catch in try catch
- 26. 正在檢查代碼中的異常或使用try-catch在Java中更好的做法?
- 27. 在onPause()方法中調用GC是不是很好的做法?
- 28. 需要在c中的標準try/catch函數中包裝函數#
- 29. 檢查ObjectCreationExpressionSyntax的參數是否包含在try catch塊中
- 30. 在Javascript中瞭解try..catch
請看'dexen at google dot dot up'[over here](http://php.net/manual/en/language.exceptions.php)的評論。 – JakeGould
謝謝,這有幫助。 – JordanC