int自增列重置

freeflying1222 2014-01-07 09:05:19
因为是用于记录用户行为(类似于日志)的表,所以增长非常快,在可以预见的将来int会被耗尽(超过最大值)。但系统会定时的清理(删除)一部分旧的记录,以控制表的规模,所以表里的数据的id是可能是10000-20000(之前的被删除了)。

我希望接下来int自增列又从1开始,如果增到10000,就跳过直接是20001,有没有办法?

google了一下,好像机会很渺茫。因为:
1、表里仍然有数据,所以truncate之类的办法不行
2、重置的自增列起始值低于现有最大值,所以alter table之类的办法也不行。
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2014-01-07
  • 打赏
  • 举报
回复
要么改成bigint 要么改成每个月一张表或者每年一张表(以后缀区分)
ACMAIN_CHM 2014-01-07
  • 打赏
  • 举报
回复
用BIGINT应该足够了。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧