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

今天用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 这两种数据库,哪一个更适合选用
下一篇

在线客服

专业客服团队,为您提供贴心服务

QQ客服 2305035643
微信客服 扫码添加
微信客服二维码

扫码添加微信客服

电话咨询 18029603035
改版服务 代码修改
二维码

扫码了解详情

服务时间:周一至周日 9:00-22:00

客服热线:18029603035