【发布时间】:2015-11-13 13:36:27
【问题描述】:
我正在使用SQLite.swift,我正在使用 SQLite.swift 演示中的这些代码。
import UIKit
import SQLite
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let db = try! Connection()
let users = Table("users")
let id = Expression<Int64>("id")
let email = Expression<String>("email")
let name = Expression<String?>("name")
try! db.run(users.create { t in
t.column(id, primaryKey: true)
t.column(email, unique: true, check: email.like("%@%"))
t.column(name)
})
try! db.run(users.insert(email <- "alice@mac.com"))
for user in db.prepare(users) {
print("id: \(user[id]), email: \(user[email])")
}
}
}
我第一次运行的时候,输出是:
("SELECT * FROM \"users\"", [])
id: 1, email: alice@mac.com
然后我删除第 17 行(try! db.run(users.insert(email <- "alice@mac.com")))并再次运行,调试器输出更改为:
("SELECT * FROM \"users\"", [])
看起来alice@mac.com 没有保存到数据库。那我哪里做错了?或者如何保存到 SQLite 数据库中?
附:我正在使用 Xcode 7 beta 5、Swift 2.0
【问题讨论】:
-
请检查数据库。该记录在数据库中可用吗?
-
我不知道那个数据库在@iAshish的什么位置
-
您已经在文档的目录路径中给出了存储数据库的路径,对吗? @大卫?
-
只需在控制台中打印该路径即可。并使用查找器转到该数据库。在 sqlite 浏览器中打开该数据库并检查数据是否可用。
-
但是如何打印呢? @iAshish
标签: database swift sqlite swift2 sqlite.swift