【发布时间】:2020-01-10 04:35:51
【问题描述】:
我的 MySQL 数据库中有一个表,其中 id 的条目从 3000 开始,因为之前的行已被删除。我想要实现的是更改 id 列的值。我需要从1 开始的行。如果我有1900 条目,我需要id 从1 到1900。我数据库中的 id 列设置为AUTO_INCREMENT,id 是主键。
我的问题是,是否可以使用 SQL 命令来实现这一点?还是我应该创建一个新数据库并使用新的id 传输对象?
【问题讨论】:
-
我的问题是“为什么?”
-
第一个问题是:你为什么关心?更改主键是一个非常糟糕的主意。如果该表被任何其他表引用,那么您将遇到引用完整性问题。
-
简而言之,id 用在 url 中,必须从 1 开始。@CaiusJard Jard
-
为什么它们必须从 1 开始?
-
不希望听起来刺耳,但“因为它们进入一个 url”可能是我听说过的最弱的原因之一,因为它们具有从 1 开始的连续 ID - 听起来像是安全漏洞正在等待发生。 ,