(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);
?>