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.db
Andere Erweiterungen