我的 iOS 应用程序中有 2 个数据库文件:
- 原始数据库(只读,保存在我应用的主目录中)
- 用户的数据库(保存在用户的
Documents
文件夹中)
我需要运行 SQL 查询以从原始数据库复制到用户数据库,例如:
INSERT INTO UserDatabase.MyTable
SELECT * FROM OriginalDatabase.MyTable;
在 iOS 上运行的 SQLite 是否可行?问题是这两个数据库位于不同的文件夹中。我想避免在代码 (C#) 中完成这项工作,这是一种显而易见的方式,只是速度要慢得多。
我的应用程序是用 C#/MonoTouch 编写的,但这可能无关紧要。
最佳答案
通过@Peter M 的链接解决。
这是在 iOS 上执行此操作的 SQL:
ATTACH DATABASE '../YourApp.app/YourDatabase.db' AS OriginalDatabase;
INSERT INTO Main.MyTable
SELECT * FROM OriginalDatabase.MyTable;
DETACH DATABASE OriginalDatabase;
注意 Main
的使用,这是您使用 SqliteConnection
连接的数据库,在我的例子中它位于 Documents
文件夹。
您可以对 OriginalDatabase
、连接、子选择等做任何您需要的事情。
关于c# - iOS 上的 SQLite - 从一个文件复制到另一个文件的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10350894/