Я использую 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 <- "[email protected]"))
for user in db.prepare(users) {
print("id: \(user[id]), email: \(user[email])")
}
}
}
При первом запуске вывод был такой:
("SELECT * FROM \"users\"", [])
id: 1, email: [email protected]
Затем я удалил строку 17 ( try! db.run(users.insert(email <- "[email protected]"))
) и снова запустил, вывод отладчика изменился на:
("SELECT * FROM \"users\"", [])
Похоже, [email protected]
не сохранился в базе данных. Так где я сделал это неправильно? Или как сохранить его в базу данных SQLite?
P.S. Я использую Xcode 7 бета 5, Swift 2.0