我正在iphone 5 ios 7上使用视图控制器的viewDidLoad函数中的以下代码创建SQlite数据库。每当我viewDidLoad被执行时,我都会得到“// db mydb created”。即使我使用“create table if not exists”子句,也会发生这种情况。为什么会这样?我想只创建一次数据库,它似乎以某种方式“隐形”并一次又一次地创建。
// open database
if sqlite3_open(fileURL.path!, &db) != SQLITE_OK {
print("error opening database")
}
if sqlite3_exec(db, "create table if not exists mydb (id integer primary key autoincrement, age text, hobby text, band text)", nil, nil, nil) != SQLITE_OK {
let errmsg = String.fromCString(sqlite3_errmsg(db))
print("error creating table: \(errmsg)")
}else{
print("// db mydb created")
}
答案 0 :(得分:0)
如果
sqlite3_exec(db, "create table if not exists mydb (id integer primary key autoincrement, age text, hobby text, band text)", nil, nil, nil)
不是SQLITE_OK,执行查询时没有错误 - 这并不意味着db mydb一次又一次地被创建。