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を見つけるための特別なクリーンな方法はありますか?