SQLite Detach Database
SQLitesDETACH DATABASEDie Anweisung wird verwendet, um eine benannte Datenbank von einer Datenbankverbindung zu trennen und freizugeben, die zuvor mit der ATTACH-Anweisung angehängt wurde. Wenn dieselbe Datenbankdatei mit mehreren Aliasen angehängt wurde, trennt der DETACH-Befehl nur die Verbindung für den angegebenen Namen, während die übrigen gültig bleiben. Sie könnenmainodertempdie Datenbank nicht trennen.
Wenn es sich bei der Datenbank um eine In-Memory- oder temporäre Datenbank handelt, wird die Datenbank zerstört und ihr Inhalt geht verloren.
Syntax
Die grundlegende Syntax der SQLite-Anweisung DETACH DATABASE 'Alias-Name' lautet wie folgt:
DETACH DATABASE 'Alias-Name';
Hierbei ist 'Alias-Name' derselbe Alias, den Sie verwendet haben, als Sie die Datenbank zuvor mit der ATTACH-Anweisung angehängt haben.
Beispiel
Angenommen, Sie haben in den vorherigen Kapiteln eine Datenbank erstellt und 'test' und 'currentDB' daran angehängt. Mit dem Befehl .database können wir Folgendes sehen:
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db 3 currentDB /home/sqlite/testDB.db
Nun wollen wir versuchen, 'currentDB' von testDB.db zu trennen, wie folgt:
sqlite> DETACH DATABASE 'currentDB';
Wenn Sie nun die aktuell angehängten Datenbanken überprüfen, werden Sie feststellen, dass testDB.db noch mit 'test' und 'main' verbunden ist.
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.dbAndere Erweiterungen