我正在尝试在我的 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?