开发中,请不要注册 7 天 VIP,畅享全部企业模板下载!
Pbootcms教程

PBOOTCMS新增文章 发现文章ID不是按照最后值递增的解决方法

模板巴巴 2025-12-02 8493 阅读

今天用PBOOTCMS给客户建站,发现了一个很奇葩的问题客户的新闻资讯文章最后一条是8 但是新增文章之后 他的文章ID变成了569 如下图:正常来说,新增文章,他应该默认递增,ID应该是9.然后

今天用PBOOTCMS给客户建站,发现了一个很奇葩的问题

客户的新闻资讯文章最后一条是8  但是新增文章之后 他的文章ID变成了569   

如下图:

image


正常情况来说,新增文章,他应该默认递增,原来最大的文章ID是8,那么新增的文章ID应该是9.

然后开始查询问题所在。疑似问题如下:

1、数据库ay_content的表递增出现问题,修改索引,和自动递增。(无果)

2、后台或者其他表存在最大的递增值568(无果)


分析问题:

一般来说,也只会有上面两个原因造成,但是均无果。后来又尝试重新删数据,增加新闻,还是从569递增。

后来就怀疑是不是存在569这个值,通过数据库查询发现没有。

图片如下:

image


再后来换了下思路

那569没有,会不会最大值是568,一查还真查出来了问题

image



发现了一个不存在的表,因为这是默认隐藏系统表。。。。具体内容如下:


image


这才发现问题所在,sqlite_sequence 是 SQLite 数据库中用于管理自增字段(AUTOINCREMENT)的系统表,核心作用是记录每个开启自增的表的「最后使用的自增主键值」,确保自增字段(通常是 INTEGER PRIMARY KEY AUTOINCREMENT)能持续递增、不重复。


翻译成白话就是。这里的值是多少,那么他就会从多少开始递增,比如这里是568  那么再新增数据就是569开始,就算你在数据库强制改了ID值,你新增还是会从569开始。

然后开始写语句处理这个问题:语句如下


UPDATE sqlite_sequence SET seq = 9 WHERE name = 'ay_content';


意思让他默认递增值为9,然后执行保存。解决,效果如下


image


注意:操作前一定要备份数据库

注意:操作前一定要备份数据库

注意:操作前一定要备份数据库



分享:
上一篇对于 PbootCMS 而言,SQLite 和 MySQL ...