是否有辦法獨立設置隔離級別到具體的數據庫驅動程序在PHP? 看起來沒有。通過PDO或Zend_Db_Adapter_Abstract設置隔離級別?
1
A
回答
2
不幸的是,我不確定有沒有辦法用Zend_Db來做這樣的事情。手冊中說setTransactionIsolationLevel()
只能與Microsoft SQL Server adapter一起使用。
您可以使用setTransactionIsolationLevel()爲當前連接設置隔離級別爲 。該值可以是SQLSRV_TXN_READ_UNCOMMITTED, SQLSRV_TXN_READ_COMMITTED,SQLSRV_TXN_REPEATABLE_READ, SQLSRV_TXN_SNAPSHOT或SQLSRV_TXN_SERIALIZABLE。
似乎並沒有Zend_Db API實現一種管理事務隔離級別的方法,唯一的方法是編寫自己的SQL語句並根據您使用的PDO驅動程序執行它們。
我會建議你改用一個更好的數據庫抽象層,如Doctrine(真的很強大)。然後,你就可以做這種方式:
的
Doctrine\DBAL\Connection
也有方法來控制 事務隔離級別由底層數據庫的支持。Connection#setTransactionIsolation($level)
和Connection#getTransactionIsolation()
可用於該目的。該 可能的隔離級別由以下常量表示:
<?php
Connection::TRANSACTION_READ_UNCOMMITTED
Connection::TRANSACTION_READ_COMMITTED
Connection::TRANSACTION_REPEATABLE_READ
Connection::TRANSACTION_SERIALIZABLE
見this question知道如何主義與ZF有關使用學說事務管理的更多信息集成和this page。
相關問題
- 1. 設置隔離級別
- 2. 事務,設置隔離級別
- 3. 爲Microsoft.Practices.EnterpriseLibrary設置默認隔離級別
- 4. 設置隔離級別全球
- 5. 設置mysql的事務隔離級別
- 6. 設置存儲過程中的可序列化隔離級別
- 7. java.sql.Connection隔離級別
- 8. mysql隔離級別
- 9. 無法設置默認的Nhibernate隔離級別(例如,通過映射)
- 10. SQL通知支持的隔離級別
- 11. 交易,鎖,隔離級別
- 12. Linq DataContext和隔離級別
- 13. SET事務隔離級別
- 14. log4j隔離某個級別
- 15. Mysql XA隔離級別
- 16. Linq to Sql隔離級別
- 17. EJB事務隔離級別
- 18. MySQL事務隔離級別
- 19. PetaPoco事務隔離級別
- 20. MSDTC和隔離級別
- 21. 事務隔離級別
- 22. JMS中的隔離級別
- 23. 顯示隔離級別
- 24. Spring事務隔離級別vs數據庫隔離級別的優先級
- 25. 在mysql的procedure範圍設置事務隔離級別
- 26. 如何在SQLAlchemy for PostgreSQL中設置事務隔離級別?
- 27. 設置事務隔離級別和突出顯示語句
- 28. PostgreSQL觸發:關閉自動提交,並設置隔離級別
- 29. LinqDataSource將隔離級別設置爲READ UNCOMMITTED
- 30. 設置事務隔離級別Play Framework 2.3