SQLite – 你如何连接来自不同数据库的表?
我有一个使用SQLite数据库的应用程序,一切正常。 我现在正在添加需要第二个SQLite数据库的新function,但是我很难搞清楚如何连接不同数据库中的表。
如果有人能帮我解决这个问题,我真的很感激!
编辑:看到这个问题的例子,你可以适应你的语言,当你连接数据库接受的答案中提到的。
您可以使用ATTACH关键字将另一个数据库文件附加到当前连接。
attach 'database1.db' as db1; attach 'database2.db' as db2;
你可以看到所有连接的数据库与关键字
.databases
那么你应该可以做到以下几点。
select * from db1.SomeTable a inner join db2.SomeTable b on b.SomeColumn = a.SomeColumn;
请注意,“数据库名称main
和temp
是为主数据库和数据库保留的,用于保存临时表和其他临时数据对象。这两个数据库名称都存在于每个数据库连接,不应该用于附件”。
为了我
attach database database1.db as db1;
没有工作,我必须改变它
attach 'database1.db' as db1;
那么你可以看到所有连接的数据库与关键字
.databases
那么,我没有太多的SQLite经验,你必须在一个查询中访问这两个数据库。
你可以有这样的东西:
select name from DB1.table1 as a join DB2.table2 as b where a.age = b.age;
在像SQLServer这样的数据库中,你可以以这种分层的方式访问其他数据库,这也应该适用于SQLite。
我认为你可以用多个数据库启动一个sqlite的实例!