2
我有交易的问题Zend Framework的交易(Zend_Db_Adapter会)
$backendB = new BackendBanner();//BackendBanner and ImageBanner extends Zend_Db_Table_Abstract
$backendB->getAdapter()->beginTransaction(); // starting transaction
try {
$backendB->getAdapter()->insert('module_adv_banner',$data);
$lastID = $backendB->getAdapter()->lastInsertId();
$imageBanner = new ImageBanner();
$imageBanner->getAdapter()->insert('module_adv_filebanner',$imgdata);
$imageBanner->getAdapter()->commit();
} catch (Exception $e) {
$backendB->getAdapter()->rollBack();
echo $e->getMessage();
}
当该控制器操作执行,我在第二个插入运算符的SQL错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id_banner1' in 'field list'
但回退不工作,首先插入查询成功执行并将行插入到表中。
我该怎么做?
您使用什么数据库?如果它是mysql--表中使用了什么存储引擎? – zerkms 2012-02-29 09:05:15
表引擎是MyISAM,它不适用于事务。更改为InnoDB,一切正常。 – Ahmed 2012-02-29 09:08:50
您是否在进入时检查id_banner1是否真的存在或在模型中定义? – Starx 2012-02-29 09:29:00