置顶是我们在开发中常见的开发需求,我这篇文章来介绍一下我对置顶功能的实现
CREATE TABLE `tb_top` (
`id` int NOT NULL AUTO_INCREMENT,
`top` datetime NULL DEFAULT NULL COMMENT '置顶字段',
`top_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
插入数据
INSERT INTO `tb_top` VALUES (1, '2022-07-04 10:23:04', '1');
INSERT INTO `tb_top` VALUES (2, NULL, '2');
INSERT INTO `tb_top` VALUES (3, NULL, 'hello');
INSERT INTO `tb_top` VALUES (4, '2022-07-04 10:25:52', 'null');
当点击置顶的时候给字段 top 设置传入数据为当前时间
SELECT * FROM `tb_top` ORDER BY top DESC ,id DESC
这样获取数据时就是可以实现置顶,并按时间顺序排序
有更好的方案欢迎各位大佬评论