schedule无法重新利用已删除的编号

用schedule删除定时回复,比如schedule -d 1后,新建的定时回复不会重新利用1号,而是从最新编号往后排
手动修改数据库也无法直接改编号,提示TypeError: cannot modify primary key
如果要重新利用1号,我只能在数据库手动添加一条
但是再次使用schedule命令添加定时任务时,依然按照最新的编号往后排
能否改进schedule,让已被释放的编号重新利用

2 个赞

这点是让人感觉不太舒服,同求方法

2 个赞

这是因为编号是数据库的主键,而且开启了主键自增
想解决这个问题也可以,但需要每次都检查id有没有空位,这会拖慢一定的效率,而且不优雅

2 个赞

重复使用已用过的编号会带来无穷无尽的 bug,我相信你不会为了靠前的编号而忍受无尽的 bug 的。


举个栗子:猜猜下面这个视频的 UP 主是谁?

b23.tv/av3

2 个赞

这是预期行为,如果想要改变这个行为建议重新写一个插件。

4 个赞

感谢各位解答

2 个赞

眼不见心不烦,我认为解决这个问题的一个可行方案是不要把主键当成聊天环境中用的编号,在数据库里额外加一列(没错,就只是为了好看)

3 个赞