【发布时间】:2013-01-18 10:53:41
【问题描述】:
我有一个问题。
我的数据库中只有一张表
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL( "CREATE TABLE books (_id INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT, author TEXT,isbn TEXT,city TEXT);");
Log.v("onCreate-------","called onCreate");
}
这里:-
sqlite> select * from books;
也可以正常工作。
但我想添加新表,所以我想在这里添加:-
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
android.util.Log.w("books",
"Upgrading database, which will destroy all old data");
//db.execSQL("ALTER TABLE myallbooks ADD COLUMN city2");
db.execSQL("CREATE TABLE myfields (author TEXT,isbn TEXT,city TEXT);");
Log.v("onUpgrade-------","called onUpgrade with alter");
}
更改版本号后,我运行了应用程序,但在任何地方都没有找到该表。
sqlite> 从 myfields 中选择 *;
Error:-no such table :myfield.........为什么它没有创建
【问题讨论】:
-
为什么要在 onUpgrade() 中建表?
-
告诉我在哪里可以添加新表。如果需要的话。
-
我已经贴在下面了,请大家看看...