我正在尝试在我的PHP应用程序中获取Sqlite DB的最后插入行Id。我正在使用Zend Framework的PDO Sqlite适配器进行数据库处理。lastInsertId()方法应该给我结果,但它并没有。在php.net上的PDO文档中我看到,lastInsertId()在所有数据库上可能不会都起作用。但是它真的完全不能在sqlite上工作吗?我尝试通过以下方式重写适配器的lastInsertId()方法:
// Zend_Db_Adapter_Pdo_Sqlite
public function lastInsertId() {
$result = $this->_connection->query('SELECT last_insert_rowid()')->fetch();
return $result[0];
}
但是它也不起作用。每次调用它都返回0。有没有一种特殊的干净方式来查找最后插入的ID?