在sqlite中重命名表

Raj*_*jat 6 sqlite android

我想在我的应用程序的sqlite数据库中重命名一个表.为此,我使用以下命令:

ourDatabase.rawQuery("ALTER TABLE " + oldName + " RENAME TO " + newName,
                null);
Run Code Online (Sandbox Code Playgroud)

其中oldName是表的旧名称,是表newName的新名称,ourDatabase是实例SQLiteDatabase.但这不起作用.

怎么了?

谢谢.

Shy*_*dda 15

尝试execSQL而不是rawQuery像:

ourDatabase.execSQL("ALTER TABLE " + original_table_name + " RENAME TO " + new_table_name);
Run Code Online (Sandbox Code Playgroud)

  • Android rawQuery方法的null参数是有原因的.我指的是你的SQL查询和他的SQL查询之间的区别.哪个是一样的.他的问题的实际答案是使用execSql方法代替. (2认同)

Vla*_*lav 7

试试这段代码:

    db.beginTransaction();
    try{
        db.execSQL("ALTER TABLE " + oldName + " RENAME TO " + newName+";");
        db.setTransactionSuccessful();
    } finally{
        db.endTransaction();
    }
Run Code Online (Sandbox Code Playgroud)