SQLite - DETACH Database

SQLite DETACH DATABASEviene utilizzata per scollegare e dissociare un database denominato da una connessione al database precedentemente allegata utilizzando l'istruzione ATTACH. Se lo stesso file di database è stato allegato con più alias, il comando DETACH disconnetterà solo il nome specificato e il resto dell'allegato continuerà comunque. Non è possibile scollegare il filemain o temp banche dati.

Se il database è un database in memoria o temporaneo, il database verrà distrutto e il contenuto andrà perso.

Sintassi

Di seguito è riportata la sintassi di base dell'istruzione "Alias-Name" di SQLite DETACH DATABASE.

DETACH DATABASE 'Alias-Name';

In questo caso, "Alias-Name" è lo stesso alias che avevi utilizzato per collegare il database utilizzando l'istruzione ATTACH.

Esempio

Considera di avere un database, che hai creato nel capitolo precedente e lo hai allegato con 'test' e 'currentDB' come possiamo vedere usando .database comando.

sqlite>.databases
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/testDB.db
2    test             /home/sqlite/testDB.db
3    currentDB        /home/sqlite/testDB.db

Proviamo a scollegare 'currentDB' da testDB.db utilizzando il seguente comando.

sqlite> DETACH DATABASE 'currentDB';

Ora, se controlli l'allegato corrente, scoprirai che testDB.db è ancora connesso con 'test' e 'main'.

sqlite>.databases
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/testDB.db
2    test             /home/sqlite/testDB.db