我想我的程序能夠安裝插件創建表,並回滾如果發生錯誤所做的所有更改。所以我創建了一個事務來保存安裝插件時添加的所有內容。問題是插件可能想要創建表,並且這樣做會自動提交MySQL中的當前事務。的MySQL不提交當前事務
見Statements That Cause an Implicit Commit在MySQL網站。
我如何能做到這一點任何想法?
我想過使用臨時表,因爲它們不會自動提交,除非它們使用的內存太多,但它看起來像臨時表無法回滾(並且我還沒有找到方法將它們轉換爲永久表)。
我剛剛發現了關於「save points」,但我真的不明白應該如何使用它,以及它是否可以幫助我實現我想要的效果。
好的謝謝你的信息。不知道連Oracle都不支持它。 我的應用程序使用一個允許支持不同DBMS的抽象層,所以我不能深入瞭解每個DBMS並在DDL上添加對完整事務的支持......即使它只是MySQL,也可能也是如此對我來說很複雜! – user276648 2010-06-02 09:52:08