如何在 android studio 的数据库中创建一个新的 table?

How to create a new table into a database on android studio?

我正在使用 sqlite 数据库开发一个 android 项目,在创建数据库后我意识到我需要一个新的 table 所以我尝试将它添加到我的 SQLiteOpenHelper class

  BaseDeDatos.execSQL("create table viaje(id_viaje integer primary key, tiempo integer, revs integer,  esfzosub integer, esfzobaj integer)");

但是当我 运行 应用程序并按下按钮时,我的应用程序崩溃了,并给我以下消息:

android.database.sqlite.SQLiteException: no such column: sfzosub (code 1): , while compiling: UPDATE viaje SET sfzosub=?,sfzobaj=?,id_viaje=?,id_categoria=? WHERE codigo=1

我看到问题是数据库没有更改我尝试重新启动 android studio,重建应用程序,但我仍然遇到同样的问题,那么我该如何更改我的数据库?

现在的大问题是哪里 称为新table 的创建?如果你在

public void onCreate(SQLiteDatabase db)

您的代码将不会执行,因为数据库已经存在!

要妥善处理,请将其添加到

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL(YOUR_STRING);

然后将数据库的版本更改为更高的版本。当您重新启动应用程序时,它将看到一个新版本和 运行 onUpgrade.