【问题标题】:FMDB update version number doesn't workFMDB 更新版本号不起作用
【发布时间】:2017-10-09 09:17:37
【问题描述】:

我知道如何将 FMDB 用于创建数据库表等基本功能。

当我想像添加新列一样更新我的表时,我需要更新用户版本号。

FMDB 有一个userVersion 属性应该是sqlite 的user_version。我使用了以下代码:

if let db = DBManager.shared.database, db.userVersion == 0, db.open() {
     addColumnsToSomeTable()
     db.userVersion = 1
}

但是运行项目,userVersion 仍然是 0。它应该是 1,这个 if 块不应该被输入。

为什么userVersion不能升级?

我也试过了:

let string = "PRAGMA user_version = 1"
do {
  try db.executeUpdate(string, values: nil)
} catch {    
}

还是同样的问题。

我搜索了一些教程,其中大多数都有fileExists检查如下:

if !FileManager.default.fileExists(atPath: dbPath) {
        database = FMDatabase(path: dbPath)
    }

这里有什么意义?如果文件存在,那么获取它的正确方法是什么? 不一样:database = FMDatabase(path: dbPath)?

【问题讨论】:

    标签: ios swift database sqlite fmdb


    【解决方案1】:

    我同时打开了sqlite软件DB Browser for SQLite。关闭它,然后就可以正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多