因为最近在写一篇关于文章的项目,想在文章展示页做一个上一篇下一篇切换的东西,最初的想法时根据文章id的加一减一进行判定,但是后面才发现,因为文章id设置的是自增,所以当我们删除了一篇文章的相邻文章后,这就出错了,想了想,我们可以直接用sql语句来进行文章的查抄,不用根据id的加一减一,此处直接上语句
此处以查询第7篇文章的上一篇下一篇为例:
article_status:文章状态,我做的时候文章分为两个状态 0(发布) 和 1(停用),这里我们上一篇下一篇看的肯定也是已经发布的,所以多加了一个条件
下一篇
SELECT * FROM article where article_id > 7 and article_status = 0 ORDER BY article_id ASC limit 1
上一篇
SELECT * FROM article where article_id < 7 and article_status = 0 ORDER BY article_id DESC limit 1
这样就可以了,如果你是用jdbc或mybatis直接将5用占位符替换就可以直接使用了。
这是暂时想出来的一个办法,本来想着解决mysql自增后不连续的问题,因为不太回,就换成了这种方法,如果有问题或者更好的方法,欢迎评论!fasdfasdfasdfasdfsadfasfasdfsa