【发布时间】:2013-10-02 14:51:35
【问题描述】:
我有一个表,其中每一行都有一个 id,每次我插入一个新行时,它都会使用最高的 id 并加 1。但是,我希望新行取回原来的行数删除。如何找到不存在的最低 id?谢谢
【问题讨论】:
-
不要这样做。自增主键不应该乱用。
-
确实是重复的。将删除
-
这是个坏主意。首先,您可以让您的 mysql 引擎负责创建唯一标识符(id),不建议您自己执行此操作。第二个 id 必须是唯一的,甚至删除的行也必须有自己的 id。例如,当您有一个名为 william 的 id 为 3 的用户,您删除该用户并插入一个名为 jan 的新用户。 William 愿意查看他的数据并在他的 id 3 上搜索他突然发现有关 jan 的信息。你不要这样做,让 mysql 用自动增量来完成任务
-
关于这样做的进一步说明。使用 auto_increment 字段,MySQL 将确保它们在生成它们时是唯一的。如果您尝试重用一个已被释放的语句,则有可能有 2 个语句同时检索相同的 id,并且都尝试使用它。