每天将自动增量列重置回 0
postgresql中有没有办法让自动递增列在每天的指定时间重置为零?
Is there a way in postgresql to have an auto-incrementing column reset back to zero at a specified time every day?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 cronjob 可能非常简单。
或者,您可以将“串行”列设置为 DEFAULT 来调用存储过程,该存储过程将检查一天的翻转,在适当的情况下重置序列,然后返回 nextval() 的结果。
但除此之外,不,我不希望有一个神奇的 ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' 或类似的东西。
编辑:合并了 duckyfuzz 的评论。
It could be pretty trivial with a cronjob
Alternately, you could set your "serial" column DEFAULT to call a stored procedure, which would check for a day rollover, reset the sequence if appropriate, and then return the result of nextval().
But other than that, no, I wouldn't expect that there's a magic ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' or anything like that.
Edit: incorporated duckyfuzz's comment.
基本上你可以用这个重置序列:
享受......
Basicaly you can reset sequence with this one:
Enjoy...