在SQLite.swift

时间:2016-05-12 11:06:15

标签: 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不会抛出错误(或允许提前返回)。)但是,除了第一次之外每次都故意抛出错误,这似乎是糟糕的编程。我并不是说这是一个错误。我只想在新创建的数据库中插入一些数据。有更好的方法可以做到这一点,还是每个人都这样做?

1 个答案:

答案 0 :(得分:1)

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")
}