0

我在 phpMyadmin 中使用 MySql。我有一个包含主键的表。这个主键是'userid',它也是一个“自动增量”字段。该应用程序还具有删除具有“用户 ID”的特定用户的功能。因此,当我再次创建新用户时删除用户后,'userid' 将获得下一个整数的值。我希望表格考虑删除并分配主键值,已删除的数字..

示例:表中的 'userid' 值为 - 1,2,3,4,5,6,7.... 我删除了值为 3 的用户 ID。所以现在当我创建用户的下一条记录时,表应该使用用户 ID 值“3”,因为它不再使用。我怎么能在 phpmyadmin 中做到这一点?

我想这样做以保持用户 ID 的值最小。计数可能会达到用户 ID 的 5 位数值。因此,如果一个 2 位可以使用,因为它之前被删除,使用这个 2 位值将节省数据库的内存使用

4

1 回答 1

1

完全可以通过在下一次插入时明确提供不再使用的 ID 来分配它。AUTO_INCREMENT 仅在您不自己提供 id 时分配。

请确定该 ID 确实没有被使用,否则插入将失败。

话虽如此,我不鼓励这样做。我不是 100% 肯定,但我认为当你在 MySQL 中声明一个整数时,它需要整数空间,不管整数有多少位,但我愿意澄清这一点。无论如何,我相信可能使用更少空间的微小好处不值得通过修改您的 ID 来冒险失败。

以我的经验,这些小事以后往往会困扰你,我看不到真正的好处。

如有必要,我建议寻找其他方法来提高内存使用率。

于 2014-11-01T00:56:39.743 回答