我正在使用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 数据库中?
PS 我正在使用 Xcode 7 beta 5,Swift 2.0