这段代码是否给了我最后插入的记录 id,即使在负载很重的页面上也是如此?
db = Zend_Db_Table::getDefaultAdapter();
$db->insert($this->_name, $fields_values);
$idAddress = $db->lastInsertId($this->_name);
问候安德里亚
这段代码是否给了我最后插入的记录 id,即使在负载很重的页面上也是如此?
db = Zend_Db_Table::getDefaultAdapter();
$db->insert($this->_name, $fields_values);
$idAddress = $db->lastInsertId($this->_name);
问候安德里亚
我正在使用这个...
db = Zend_Db_Table::getDefaultAdapter();
$lastInsertId = $db->insert($this->_name, $fields_values);
该Zend_Db_Adapter_Abstract::lastInsertId()
方法是PDO::lastInsertId()
. 根据文档:
PDO::lastInsertId — 返回最后插入的行或序列值的 ID
笔记:
此方法可能不会在不同的 PDO 驱动程序之间返回有意义或一致的结果,因为底层数据库甚至可能不支持自增字段或序列的概念。
现在你知道了。使用它作为您自己的风险!
public function saveData(array $data) {
$this->_setName('user');
// this will return all field name for user table in $field variable
$fields = $this->info($this->getConstCol());
// By this foreach loop we will set data in $data array
foreach ($data as $field => $value)
{
if (!in_array($field, $fields))
{
unset($data[$field]);
}
}
// It will call insert function of (Zend_Db_Table_Abstract Parent of Zend_Db_Table)
// It will return $pkData which is primary key for user table
return $this->insert($data); // It will return last insert ID
}