(PHP 7 >= 7.4.0, PHP 8)
SQLite3::backup — あるデータベースを、別のデータベースにバックアップする
$destination
, string $sourceDatabase
= "main", string $destinationDatabase
= "main"): boolSQLite3::backup() は、あるデータベースの内容を別のデータベースにコピーし、 コピー先のデータベースの内容を上書きします。 このメソッドは、データベースのバックアップを作成したり、 インメモリのデータベースを永続的なファイルにコピーしたり、その逆を行う場合に便利です。
SQLite 3.27.0 (2019-02-07) 以降のバージョンでは、
データベースを新しいファイルにバックアップするSQLとして
VACUUM INTO 'file.db';
も使えます。
destination
SQLite3::open() でオープンされたデータベース接続
sourceDatabase
メインデータベースの場合、データベース名は "main"
です。
一時的なデータベースの場合は、"temp"
になります。
また、ATTACH
文の AS
キーワードの後に指定された名前が使えます。
destinationDatabase
sourceDatabase
に似ていますが、
destination
で接続したコピー先のデータベースを表します。
例1 既存のデータベースをバックアップする
<?php
// $conn は、既にオープンされた sqlite3 データベースへの接続です。
$backup = new SQLite3('backup.sqlite');
$conn->backup($backup);
?>