SQLite-DETACH 데이터베이스

SQLite DETACH DATABASE문은 이전에 ATTACH 문을 사용하여 연결된 데이터베이스 연결에서 명명 된 데이터베이스를 분리하고 분리하는 데 사용됩니다. 동일한 데이터베이스 파일이 여러 별명으로 첨부 된 경우 DETACH 명령은 지정된 이름 만 연결 해제하고 나머지 첨부는 계속됩니다. 분리 할 수 ​​없습니다main 또는 temp 데이터베이스.

데이터베이스가 메모리 내 또는 임시 데이터베이스 인 경우 데이터베이스가 손상되고 내용이 손실됩니다.

통사론

다음은 SQLite DETACH DATABASE 'Alias-Name'문의 기본 구문입니다.

DETACH DATABASE 'Alias-Name';

여기서 'Alias-Name'은 ATTACH 문을 사용하여 데이터베이스를 연결할 때 사용한 것과 동일한 별칭입니다.

이전 장에서 만든 데이터베이스가 있고 'test'및 'currentDB'를 사용하여 연결 한 것을 고려하십시오. .database 명령.

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

다음 명령을 사용하여 testDB.db에서 'currentDB'를 분리 해 보겠습니다.

sqlite> DETACH DATABASE 'currentDB';

이제 현재 첨부 파일을 확인하면 testDB.db가 여전히 'test'및 'main'과 연결되어 있음을 알 수 있습니다.

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