为什么SQLiteOpenHelper会重新创建我现有的数据库?

时间:2011-01-20 13:24:17

标签: android database

我正在尝试将数据库推送到模拟器。我在台式计算机上使用脚本创建了数据库,它看起来与我的SQLiteOpenHelper子类创建的数据库相同:

CREATE TABLE android_metadata (locale TEXT);
insert into android_metadata values('en_US');

CREATE TABLE notes (_id integer primary key autoincrement,
                    key text,
                    content text not null,
                    modifydate text,
                    createdate text,
                    syncnum integer,
                    version integer,
                    minversion integer,
                    sharekey text,
                    publishkey text,
                    deleted integer not null default 0,
                    pinned integer not null default 0,
                    unread integer not null default 0);
CREATE TABLE tags (_id integer primary key autoincrement,
                   name text not null, 
                   pos integer not null,
                   noteid integer not null,
                   foreign key(noteid) references notes (_id));

但由于某种原因,该应用程序尝试重新创建数据库,即使它已经存在。它在尝试创建数据库中已存在的表时失败。也许这里有人知道为什么?

1 个答案:

答案 0 :(得分:0)

行。事实证明,我需要将数据库上的版本设置为我的代码所期望的版本。这是在我的sqlite脚本中完成的,如下所示:

PRAGMA user_version = 1;