SQLite - Base de données ATTACH

Prenons un cas où vous avez plusieurs bases de données disponibles et que vous souhaitez utiliser l'une d'entre elles à la fois. SQLiteATTACH DATABASE instruction est utilisée pour sélectionner une base de données particulière, et après cette commande, toutes les instructions SQLite seront exécutées sous la base de données attachée.

Syntaxe

Voici la syntaxe de base de l'instruction SQLite ATTACH DATABASE.

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

La commande ci-dessus créera également une base de données au cas où la base de données n'est pas déjà créée, sinon elle attachera simplement le nom du fichier de base de données avec la base de données logique 'Alias-Name'.

Exemple

Si vous souhaitez attacher une base de données existante testDB.db, alors l'instruction ATTACH DATABASE serait la suivante -

sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';

Utiliser SQLite .database commande pour afficher la base de données attachée.

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

Les noms de bases de données main et tempsont réservés à la base de données primaire et à la base de données pour contenir des tables temporaires et d'autres objets de données temporaires. Ces deux noms de base de données existent pour chaque connexion à la base de données et ne doivent pas être utilisés pour les pièces jointes, sinon vous obtiendrez le message d'avertissement suivant.

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