J'ai une application qui utilise une base de données SQLite et tout fonctionne comme il se doit. Je suis actuellement en train d'ajouter de nouvelles fonctionnalités qui nécessitent une deuxième base de données SQLite, mais j'ai du mal à comprendre comment joindre des tables à partir des différentes bases de données.
Si quelqu'un peut m'aider avec celui-ci, je l'apprécierais vraiment!
Modifier: Voir cette question pour un exemple de cas que vous pouvez adapter à votre langue lorsque vous attachez des bases de données comme mentionné dans la réponse acceptée.
Réponses:
Si ATTACH est activé dans votre build de Sqlite (il devrait l'être dans la plupart des builds), vous pouvez attacher un autre fichier de base de données à la connexion actuelle à l'aide du mot clé ATTACH . La limite du nombre de bases de données pouvant être jointes est un paramètre de temps de compilation ( SQLITE_MAX_ATTACHED ), actuellement par défaut à 10, mais cela peut également varier en fonction de la version que vous avez. La limite globale est de 125.
Vous pouvez voir toutes les bases de données connectées avec le mot-clé
Ensuite, vous devriez pouvoir effectuer les opérations suivantes.
Notez que « [l] es noms de base de données
main
ettemp
sont réservés à la base de données primaire et base de données pour les tables temporaires et d' autres objets de données temporaires. Ces deux noms de bases de données existent pour chaque connexion de base de données et ne doit pas être utilisé pour la fixation ».la source
'
(guillemets simples) autour du nom du fichier. J'ai trouvé la même chose.Voici un exemple C # pour répondre à cette question
la source
Eh bien, je n'ai pas beaucoup d'expérience avec SQLite, vous devez accéder aux deux bases de données en une seule requête.
Vous pouvez avoir quelque chose comme:
Dans les bases de données comme SQLServer, vous pouvez accéder à d'autres bases de données de cette manière hiérarchique, cela devrait également fonctionner pour SQLite.
Je pense que vous pouvez lancer une instance de sqlite avec plus de 1 bases de données!
la source