SQLite - Cơ sở dữ liệu ATTACH
Hãy xem xét một trường hợp khi bạn có nhiều cơ sở dữ liệu và bạn muốn sử dụng bất kỳ cơ sở dữ liệu nào trong số chúng cùng một lúc. SQLiteATTACH DATABASE câu lệnh được sử dụng để chọn một cơ sở dữ liệu cụ thể và sau lệnh này, tất cả các câu lệnh SQLite sẽ được thực thi trong cơ sở dữ liệu đính kèm.
Cú pháp
Sau đây là cú pháp cơ bản của câu lệnh SQLite ATTACH DATABASE.
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
Lệnh trên cũng sẽ tạo cơ sở dữ liệu trong trường hợp cơ sở dữ liệu chưa được tạo, nếu không, nó sẽ chỉ đính kèm tên tệp cơ sở dữ liệu với cơ sở dữ liệu logic 'Alias-Name'.
Thí dụ
Nếu bạn muốn đính kèm một cơ sở dữ liệu hiện có testDB.db, thì câu lệnh ATTACH DATABASE sẽ như sau:
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
Sử dụng SQLite .database lệnh hiển thị cơ sở dữ liệu đính kèm.
sqlite> .database
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
Tên cơ sở dữ liệu main và tempđược dành riêng cho cơ sở dữ liệu chính và cơ sở dữ liệu để chứa các bảng tạm thời và các đối tượng dữ liệu tạm thời khác. Cả hai tên cơ sở dữ liệu này đều tồn tại cho mọi kết nối cơ sở dữ liệu và không được dùng để đính kèm, nếu không bạn sẽ nhận được thông báo cảnh báo sau.
sqlite> ATTACH DATABASE 'testDB.db' as 'TEMP';
Error: database TEMP is already in use
sqlite> ATTACH DATABASE 'testDB.db' as 'main';
Error: database TEMP is already in use