我面临的一个奇怪的问题Zend的适配器的BeginTransaction()和commit()失败
的Zend_Db_Adapter会的beginTrasaction()和commit()方法似乎并没有被工作正常。我在beginTrasaction()和commit()方法中包含了INSERT语句(在FOR LOOP中)。但即使发生像下面这样的错误,我仍然可以看到已经插入了一些行,但我期望在发生错误后不再发生提交。我无法理解为什么。有人可以帮忙吗?谢谢。
SQLSTATE [23000]:完整性约束违规:1062重复条目 '0' 等键 '主要'
代码块:
**$localDB->beginTransaction();**
try{
echo $localDB->isConnected();
$localDB->query("TRUNCATE TABLE $this->dbTable");
**foreach ($rowSet as $row){**
foreach ($row as $key=>$value){
$localRow[$this->columnMap[$key]] =$value;
}
**$localDB->insert($this->dbTable,$localRow);**
}
$localDB->commit();
}
catch (Exception $e){
$localDB->rollBack();
echo $e->getMessage();
}
我觉得你有正试图进入相同值的主键。在这种情况下,请给出表格详细信息以及columnMap的来源。它是否包含任何值? – 2011-05-20 06:33:50
我认为他的主要问题是交易未按预期工作。 – 2011-05-20 06:53:04