android sqlite 自增長序列號歸0

當你的數據庫使用自增長鍵的時候,其實系統會有一張表,記錄了當前自增加鍵當前的值。
但是用有些軟件看不到,比如我用的SqliteStadio:
在這裏插入圖片描述

可以看到裏面全是我們自己工程裏面的表。

那麼怎麼才能看到所有的表呢?

查看所有表的sql:

select name from sqlite_master where type='table' order by name

我們看下執行結果:
在這裏插入圖片描述

可以看到,結果裏面其實是有sqlite_sequence 這張表的。

我們看下sqlite_sequence 記錄的自增長情況:

SELECT *  FROM sqlite_sequence

在這裏插入圖片描述
可以看到左邊是數據庫表的名稱,右邊是當前自增長值。如果想要清0怎麼辦?用以下方法即可。

    /**
     * 更新相關表在 {@link DBAdapter#TABLENAME_SQLITE_SEQUENCE} 中seq值爲0
     *
     * @param tableName     數據庫表名
     */
    public void updateSEQValue(String tableName){
        StringBuilder sb = new StringBuilder();
        sb.append("update ").append(TABLENAME_SQLITE_SEQUENCE).append(" SET seq = 0 ").
                append("where name =").append("'").append(tableName).append("'");
        execSQL(sb.toString());
    }

sql 語句爲:

update sqlite_sequence  SET seq = 0 where name = "sign"

sign 爲你的數據庫表的名稱

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章