SQLite,ROOM 清空表数据并将自增量归零

1.先清空表数据:

delete from [tablename];

2.当数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。这个表包含两个列:name和seq。name记录自增列所在的表(即tablename),seq记录当前序号(下一条记录的编号就是当前序号加1)。你可以通过如下方式将自增量归零:

//1. 将表名为tablename的自增量置0

update sqlite_sequence set seq = 0 where name = 'tablename'

//2. 将表名为tablename的记录删除

delete from sqlite_sequence where name = 'tablename'

//3. 将sqlite_sequence表清空数据

delete from sqlite_sequence

3.ROOM重置

复制代码
@Query("DELETE FROM tablename")
void deleteAll();

@Query("UPDATE sqlite_sequence SET seq = 0 WHERE name = 'tablename'")
void resetPrimaryKey();

@Query("DELETE FROM sqlite_sequence WHERE name = 'tablename'")
void recordDeletion();

@Query("DELETE FROM sqlite_sequence ")
void wipeData();
相关推荐
RestCloud42 分钟前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术4 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug8 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom8 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*8 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰8 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*8 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
-Xie-9 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
七夜zippoe9 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构