小编Ahm*_*hal的帖子

Room - 删除表并重置其主键

我想在添加新表之前删除表中的所有整体并将 PrimaryKey 重置回 1。

这是我的实体

@PrimaryKey(autoGenerate = true)
private int id;
private int weatherId;
private String highTemp;
private String lowTemp;
Run Code Online (Sandbox Code Playgroud)

所以我用了

if(weatherEntries != null && weatherEntries.size() != 0){
        Log.d(TAG, "WeatherEntry List is not empty");
            mDb.clearAllTables();


            for(int i = 0; i < weatherEntries.size(); i++) {
                mDb.weatherDao().insertWeather(weatherEntries.get(i));
                Log.d(TAG, "Inserting Weather Data into the Database");
            }
        }
Run Code Online (Sandbox Code Playgroud)

当添加新条目时,它们的主键不是从 1 开始。所以,我厌倦了查询

@Query("ALTER TABLE SequenceAction AUTO_INCREMENT = 0")
void clearPrimaryKey();
Run Code Online (Sandbox Code Playgroud)

我收到错误

“错误:输入‘SequenceAction AUTO_INCRMENT’处没有变量替代”

我试图在谷歌上查找如何解决这个问题,甚至查看了 Room 的 Android 文档以了解如何重置主键,但没有找到任何内容。

任何帮助将不胜感激。

sqlite android android-room

5
推荐指数
1
解决办法
2049
查看次数

标签 统计

android ×1

android-room ×1

sqlite ×1