【发布时间】:2018-11-30 20:43:37
【问题描述】:
我有这张表 Post 有 1000 行,其中 id_post 是主键设置为autoincrement
旧
id_post | post
1 hi1
2 hi2
...
1000 hi1000
我删除了从 301 到 1000 的行。所以我现在有一个从 1 到 300 的行列表。
新
id_post | post
1 hi1
2 hi2
...
300 hi300
问题
当尝试添加新行时,id_post 从 1001 开始,如何重置表并使其从 301 开始?
【问题讨论】:
-
在用完 700 个 ID 后,你会怎么做? AUTOINCREMENT 应该保持原样。你不能保证没有间隙,因为它不是这样设计的。
ALTER TABLE post AUTO_INCREMENT = 300; -
我知道应该留下。但这是一个帖子表,其中有默认帖子和用户帖子。 300 个是默认帖子。
-
1) 创建从 1 到 1000 的新表 2) 删除旧表 3) 将新表的名称更改为旧表的名称
-
@LukaszSzozda 方法是要走的路。谢谢。 Lukasz 随时发布答案以标记它。谢谢你成功了。
-
@Dan - 您也可以将 id 设置为 1(如 Lukasz Szozda 的回答),然后 Mysql 将获得下一个免费 id。