logo设计专家 发表于 2016-3-22 22:43:28

mysql id自动增长 删除id自填充如何操作

比如我数据库中有1到100个id,
我中间删除了50,51这两条数据,
我希望下次有新的数据加入的时候
id自增长加入的id先填充50,51这两个id值

224371 发表于 2016-3-22 22:47:35

GoogleSpider 发表于 2016-3-23 07:52:00

秋天811 发表于 2016-3-23 09:09:03

入库的时候 直接 把 id指定上 如50,这样只要 不存在id是50的 就会 写如id为50

noxlong 发表于 2016-3-23 10:09:56

要与其它表关联吗?

qqsweb 发表于 2016-3-23 10:14:01

本帖最后由 qqsweb 于 2016-3-23 10:23 编辑

GoogleSpider 发表于 2016-3-23 07:52
告诉你个方法吧,我就是这么做的, 首先不要实际删除那条数据,而是弄个字段标记一下,接着有新数据来的时候,先 ...

想了多个方案后 觉得还是这个可行 不过这种显然需要重新设计整体程序 如果是数据小的话 读取所有数据在做ID判断 少了哪个增加哪个 这种在大数据的时候就麻烦了
大概构思是 读取30条 第一个30为1-30 如果最后ID值和数量都对到说明30条没缺少 读下一组

缺少了对应的输出1-30顺序值 把取出的30条ID做判断 少了那个顺序就写入哪个ID

logo设计专家 发表于 2016-3-23 10:37:22

GoogleSpider 发表于 2016-3-23 07:52
告诉你个方法吧,我就是这么做的, 首先不要实际删除那条数据,而是弄个字段标记一下,接着有新数据来的时候,先 ...

这个办法适合初始无数据的表

如果已经是百万数据了 而且也删除了几十万数据那种呢>

zhenglee 发表于 2016-3-23 12:41:52

select min(tid+1) from t where tid+1 not in (select tid from t)

森林 发表于 2016-3-23 14:17:00

这确实是一个问题。

阿江 发表于 2016-3-23 14:37:26

replace into,好神奇的语句,用MSSQL表示没听说过。
页: [1] 2
查看完整版本: mysql id自动增长 删除id自填充如何操作