iOS 上的 SQLite - SQL 从一个文件复制到另一个文件

本文关键字:文件 一个 复制 另一个 SQLite 上的 SQL iOS | 更新日期: 2023-09-27 18:32:30

我的iOS应用程序中有2个数据库文件:

  • 原始数据库(只读,保存在我的应用主目录中)
  • 用户的
  • 数据库(保存在用户的Documents文件夹中)

我需要运行一个SQL查询以从原始数据库复制到用户的数据库,如下所示:

INSERT INTO UserDatabase.MyTable
SELECT * FROM OriginalDatabase.MyTable;

这可以从iOS上运行的SQLite吗? 问题是两个数据库位于不同的文件夹中。 我想避免在代码 (C#) 中完成这项工作,这是显而易见的方法,只是速度要慢得多。

我的应用程序是用C#/MonoTouch编写的,但这可能无关紧要。

iOS 上的 SQLite - SQL 从一个文件复制到另一个文件

使用 @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、连接、子选择等执行任何需要的操作。