Php 通过PDO或Zend_Db_适配器_抽象设置隔离级别?
有没有办法在php中独立地为具体的数据库驱动程序设置隔离级别?Php 通过PDO或Zend_Db_适配器_抽象设置隔离级别?,php,pdo,zend-db,Php,Pdo,Zend Db,有没有办法在php中独立地为具体的数据库驱动程序设置隔离级别? 看起来没有。不幸的是,我不确定有没有办法用Zend_Db做这样的事情。手册中说,setTransactionIsolationLevel()只能与一起使用 您可以使用setTransactionIsolationLevel()为设置隔离级别 电流连接。该值可以是SQLSRV_TXN_READ_UNCOMMITTED, SQLSRV_TXN_READ_COMMITTED,SQLSRV_TXN_REPEATABLE_READ, SQLS
看起来没有。不幸的是,我不确定有没有办法用Zend_Db做这样的事情。手册中说,
setTransactionIsolationLevel()
只能与一起使用
您可以使用setTransactionIsolationLevel()为设置隔离级别
电流连接。该值可以是SQLSRV_TXN_READ_UNCOMMITTED,
SQLSRV_TXN_READ_COMMITTED,SQLSRV_TXN_REPEATABLE_READ,
SQLSRV_TXN_快照或SQLSRV_TXN_可序列化
Zend_Db API似乎没有实现管理事务隔离级别的方法,唯一的方法是编写您自己的SQL语句,并根据您使用的PDO驱动程序执行它们
我建议您改为使用更好的数据库抽象层,例如(非常强大)。然后你可以这样做:
原则\DBAL\Connection
也有控制
基础数据库支持的事务隔离级别。
连接#设置事务隔离($level)
和
连接#getTransactionIsolation()
可用于此目的。这个
可能的隔离级别由以下常量表示:
<?php
Connection::TRANSACTION_READ_UNCOMMITTED
Connection::TRANSACTION_READ_COMMITTED
Connection::TRANSACTION_REPEATABLE_READ
Connection::TRANSACTION_SERIALIZABLE