sqlite::memory;の使い方

sqliteのメモリー上にアドホックなDBを作る機能。

<?php
    $dbh = new PDO("sqlite::memory:");
    $dbh->query('CREATE TABLE tags (id INTEGER, name VARCHAR)');

    $id = 1;
    $name = 'test';

    $sql = 'INSERT INTO tags (id, name, parent) VALUES (:id, :name)';
    $sth = $dbh->prepare($sql);
    $sth->bindParam(':id' , $id);
    $sth->bindParam(':name' , $name);
    $ret = $sth->execute();

    $sth = $this->dbh->query('SELECT * FROM tags');
    $ret = $sth->fetchAll(PDO::FETCH_ASSOC);
    
    var_dump($ret); // array(array('id' => 1, 'name' => 'test'),)

    $dbh = new PDO("sqlite::memory:");
    $sth = $this->dbh->query('SELECT * FROM tags');
    $ret = $sth->fetchAll(PDO::FETCH_ASSOC);
    
    var_dump($ret); // bool(false);

接続のたびにリセットされる見たい。
作うときは、PDOオブジェクトを使いまわすような作りにしたい。