android sqlite 自增长序列号归0
当你的数据库使用自增长键的时候,其实系统会有一张表,记录了当前自增加键当前的值。但是用有些软件看不到,比如我用的SqliteStadio:可以看到里面全是我们自己工程里面的表。那么怎么才能看到所有的表呢?查看所有表的sql:select name from sqlite_master where type='table' order by name我们看下执行结果:可以看到,结...
·
当你的数据库使用自增长键的时候,其实系统会有一张表,记录了当前自增加键当前的值。
但是用有些软件看不到,比如我用的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 为你的数据库表的名称
更多推荐
已为社区贡献8条内容
所有评论(0)