SQLite 분리 데이터베이스
SQLite의 DETACH DTABASE 문은 이전에 ATTACH 문을 사용하여 연결된 데이터베이스 연결에서 명명된 데이터베이스를 분리하는 데 사용됩니다. 동일한 데이터베이스 파일에 여러 별칭이 연결된 경우 DETACH 명령은 지정된 이름의 연결만 끊고 나머지는 유효한 상태로 유지됩니다. main 또는 temp 데이터베이스를 분리할 수 없습니다.
데이터베이스가 메모리에 있거나 임시 데이터베이스에 있는 경우 데이터베이스가 파괴되어 내용이 손실됩니다.
구문
SQLite의 DETACH DATABASE 'Alias-Name' 문의 기본 구문은 다음과 같습니다.
DETACH DATABASE 'Alias-Name';
여기서 'Alias-Name'은 앞서 ATTACH 문을 사용하여 데이터베이스를 연결할 때 사용한 것과 동일한 별칭입니다.
예
이전 장에서 데이터베이스를 생성하고 여기에 'test'와 'currentDB'를 연결했다고 가정하고 .database 명령을 사용하면 다음을 볼 수 있습니다.
sqlite>.databases
시퀀스 이름 ---------
0 메인 /home/sqlite/testDB.db
2 테스트 /home/sqlite/testDB. db
3 currentDB /home/sqlite/testDB.db
시퀀스 이름 ---------
0 메인 /home/sqlite/testDB.db
2 테스트 /home/sqlite/testDB. db
3 currentDB /home/sqlite/testDB.db
sqlite> ; DETACH DATABASE 'currentDB';
이제 현재 연결된 데이터베이스를 확인하면 testDB.db가 여전히 'test'와 'main'에 연결되어 있는 것을 확인할 수 있습니다. sqlite>.databases
시퀀스 이름 ------------
0 메인 / home/sqlite/testDB.db
2 테스트 /home /sqlite/testDB.db
0 메인 / home/sqlite/testDB.db
2 테스트 /home /sqlite/testDB.db