Sqlite3数据库没有使用php PDO提交

时间:2013-10-26 05:35:55

标签: php pdo sqlite

我已经将php PDO用于sqlite3数据库。这个数据库访问多个应用程序,所以我在sqlite3数据库中应用了WAL模式。

我的问题是我有一个php文件,它在后端运行无限,用于sqlite3中的插入/更新数据。它的工作正常,但sqlite3为-WAL模式创建临时文件(databasename-wal)。但-wal文件大小不断增加,如何将-WAL文件数据提交到主数据库文件中。

我已经尝试过以下代码来解决这个问题,但它无法正常使用。

try {
            $dbhandle = new PDO("sqlite:".SQLITE_DB_PATH.DBNAME);
            return $dbhandle;
        } catch (PDOException $e) {
            /*echo 'Connection failed: ' . $e->getMessage();
            exit;*/
        }

$dbhandle->beginTransaction();
$dbhandle->query($query);
$dbhandle->commit();
$dbhandle=null;

1 个答案:

答案 0 :(得分:0)

要将WAL文件合并到主数据库文件中,请运行PRAGMA wal_checkpoint

当WAL文件大小达到4 MB时,此happens automatically