如何将我的表的自动增量 id 设置为 700,即使同一张表上存在 1000 条记录?

Posted

技术标签:

【中文标题】如何将我的表的自动增量 id 设置为 700,即使同一张表上存在 1000 条记录?【英文标题】:How can I set auto increment id as 700 for my table even 1000 records existing on the same table? 【发布时间】:2017-11-14 19:51:02 【问题描述】:

我需要将自动增量 id (700) 设置为小于表的最后一个 id (Last Id : 1202)。我的桌子上有近 1202 条记录。我只需要知道是否有可能将自动增量值设置为小于最后一个 id?

如果我将 700 设置为我的自动增量 ID,那么表上现有的第 700 条记录会发生什么?

我正在使用 mysql 数据库。请给我一个想法或建议。

提前致谢。

【问题讨论】:

如果表中存在 id 介于 700 和 1202 之间的任何行,则会出现约束冲突错误。这样做的目的是什么? @DarshanMehta 实际上我使用了数字(例如:700 和 1202)。真的,我的表中有 6 万条记录。目前,表的 id 越来越难以识别并且越来越大。所以我只需要一种方法来最小化 id 数字。 您没有充分的理由要这样做 @Strawberry 是的,可能是。但我不是决定这一点的所有者。我是开发者。我只是想让我的客户满意我能做到多少。 作为您的客户,如果您向我提供的东西违反了合理的 RDBMS 流程,我会非常沮丧。 【参考方案1】:

不,您不能将自动递增列值设置为表中已存在的值。因为这是违反规则的。尝试这样做会显示constraint violation error,这也不合逻辑。

【讨论】:

以上是关于如何将我的表的自动增量 id 设置为 700,即使同一张表上存在 1000 条记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Visual Studio 在 MySQL 中已经存在的表上将列设置为自动增量 [重复]

当与模型链接的表为非自动增量时,Laravel 模型获取下一个增量 ID

MySQL:创建具有自动增量的表并将生成的值与同一表的不同列的值连接起来

如何在 Java 中为自动增量表创建查询?

使用来自两个数据库的自动增量 ID 连接来自两个表的数据

如何将自动增量 ID 列添加到从 SQL 查询生成的表中? [复制]