1
我在考慮設計一個新的應用程序,並且偶然發現了關於嵌套事務的一般問題。我有一些需要重用的對象。假設該對象中的一個是在OOP應用程序中處理嵌套事務
class A {
public method(){
$db->startTransaction(); // shared $db object
// .... do a lot of SQL work
$db->commitTransaction();
}
}
現在假設存在需要調用A->方法和回退所有的第二對象B如果在發生錯誤:
class B {
public anotherMethod(){
$db->startTransaction();
$a = new A();
$a->method();
// code that throws an error
$db->rollbackTransaction();
}
}
什麼是正確的方式來處理這種情況?你有沒有遵循的最佳做法?
,我想大家都知道,MySQL不支持嵌套事務,只是想如何處理該建議。 –
是的,我知道!問題是如何在不更改舊對象的情況下處理這個問題(甚至有可能?)。 – sangaran