在mysql服务器上使用自动提交关闭的活动记录


Yii: using active record with autocommit off on mysql server

刚刚写了一个Yii应用程序,在开发mysql服务器上,自动提交设置为true。现在,当应用程序进入生产时,我才意识到mysql服务器自动提交设置为false。应用程序使用活动记录保存(自动提交)。是否有一个变量,我可以在配置数据库文件中设置,而不是必须添加一个beginTransaction和提交在每个写入数据库?

CDbConnection有一个autoCommit属性。不过我还没有测试过。

编辑因为PHP MySQL Yii - database read not write

尝试使用CDbConnection::initSQLs并在每次建立连接时执行SET AUTOCOMMIT=1

'db'=>array(
    ...
    'initSQLs'=>array('SET AUTOCOMMIT=1',),
    ...
);