在iphone 5 ios 7上反复创建数据库

时间:2016-05-19 14:48:57

标签: ios swift sqlite

我正在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")
    }

1 个答案:

答案 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一次又一次地被创建。