无法迁移房间数据库中的列重命名

问题描述 投票:-1回答:1

我在重命名房间数据库中的列时尝试运行迁移。我的代码如下

    public static final Migration MIGRATION_11_12 = new Migration(11, 12) {
        @Override
        public void migrate(SupportSQLiteDatabase database) {
            database.execSQL("ALTER TABLE content RENAME COLUMN archiveCount TO dismissCount");
        }
    };

除了android studio正在检测以下错误

enter image description here

虽然,它编译没有任何问题。

我在上面的代码中遇到以下错误,同时运行迁移测试

android.database.sqlite.SQLiteException: near "COLUMN": syntax error (code 1)
android database-migration android-room
1个回答
0
投票
database.execSQL("ALTER TABLE content RENAME archiveCount TO dismissCount");

ALTER TABLE content_new RENAME TO content从查询中删除COLUMN关键字。

这是语法

ALTER TABLE table_name 
RENAME column_name TO new_column_name;
© www.soinside.com 2019 - 2024. All rights reserved.