-4

我创建了一个像这样在其中存储用户的表

id   name   family
1    mark   zooker
2    mak    donald

一个月后我优化了我的代码,为了优化它,我删除了 MySql 中的一些行,现在它看起来像这样

id   name   family
1    mark   zooker
3    allin  wood

我需要知道有什么方法可以重新排列主键是 id 吗?主键是自动增量字段

4

2 回答 2

1

主键不应该改变。它们是该记录的唯一标识符。你试图做的类似于因为一个家庭搬出去而在街上更改每个人的地址。

如果架构得当,跳过一段数据的 ID 不会造成任何伤害。

于 2013-07-06T19:16:41.127 回答
0

如果你想保持相同的物理顺序但重新排列 id(虽然这对我没有任何意义,但我猜你只是在练习),你必须分两步完成:

  • 添加另一列(我们称之为 new_id),它也是 auto_increment
  • 更新 id 列以匹配 new_id 列。

RDBM 不关心行的物理顺序。

于 2013-07-06T19:18:04.687 回答