ios - 在 SQLite.swift 中创建数据库后插入初始数据

标签 ios swift sqlite.swift

我有一个 SQLite 数据库,我想用一些初始数据填充它。

使用SQLite.swift ,这个方法似乎有效:

do {
    let _ = try db.run( userDictionary.create(ifNotExists: false) {t in
        t.column(wordId, primaryKey: true)
        t.column(word, unique: true)
        t.column(frequency, defaultValue: 1)
        t.column(following, defaultValue: "")
        })

} catch _ {
    print("table already exists")
    return
}

// Add some initial data for a new database
print("adding new data")
myMethodToInsertInitialData()

其工作方式是,我每次在初始数据库创建后都使用 ifNotExists: false 抛出错误。 (将其设置为 true 不会引发错误(或允许提前返回)。)但是,除了第一次之外,每次都故意引发错误似乎是糟糕的编程。我并不是真的认为这是一个错误。我只想在新创建的数据库中插入一些数据。有更好的方法来做到这一点还是每个人都这样做?

最佳答案

检查 SQLite.swift 中表中是否有数据

do
{
    db = try Connection(YOUR_DB_PATH)
    let intCount : Int64  = db.scalar("SELECT count(*) FROM yourTableName") as! Int64
    if (intCount == 0)
    {
        //callWebServiceCall()
    }
    else
    {
        //getDataFromDB()
    }
}
catch
{
    print("error")
}

关于ios - 在 SQLite.swift 中创建数据库后插入初始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37185087/

相关文章:

java - Swift 中的高级 Java 枚举

ios - 检查accesstoken是否过期Facebook SDK 4.7 ios

ios - 如何向使用cocoapods的项目添加静态库(iOS)

swift - 如何自定义 tintColor 和调整 UITabBarItem 的大小

swift - Sqlite.Swift 不明确的列名 Swift

ios - Sqlite.swift 获取行值

ios - Sqlite.swift 不适用于 Xcode 7.3

ios - 启动屏幕图像未出现在 SwiftUI 应用程序中

ios - Swift IOS 13,IAP - "Cannot connect to Itunes Connect"

ios - 呈现新 View Controller 时销毁以前的 View Controller