Mysql增量
我在表中有一个自动递增列。当我删除一行时,我希望能够重用一个ID,但系统没有这样做。你能帮我吗Mysql增量,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我在表中有一个自动递增列。当我删除一行时,我希望能够重用一个ID,但系统没有这样做。你能帮我吗 我希望系统再次使用未使用的行ID。正如大多数人在评论中指出的那样,这是个坏主意。您必须以以下方式编程应用程序的删除功能: 将行标记为已删除,以便能够用新数据填充该行 强制将数据插入空插槽 我不确定它会对更新索引产生什么样的性能影响,通常主键指示物理存储(MSSQL)上的行排序方式,但这肯定是: 为应用程序带来额外的复杂性 您不能保证其他应用程序/用户不会不顾您的逻辑删除和插入行。。。除非您带来
我希望系统再次使用未使用的行ID。正如大多数人在评论中指出的那样,这是个坏主意。您必须以以下方式编程应用程序的删除功能:
- 将行标记为已删除,以便能够用新数据填充该行
- 强制将数据插入空插槽
- 为应用程序带来额外的复杂性
- 您不能保证其他应用程序/用户不会不顾您的逻辑删除和插入行。。。除非您带来更大的复杂性并通过API公开所有内容
- 您必须注意所有行及其在其他表中的键重用(考虑到id在某些地方将是外键)
- 在与其他解决方案集成的情况下,对于数据使用者的开发来说是一场噩梦,因为他们不能依赖任何键来确保您已经有行或没有行(就像每次更新行时更改PKs一样糟糕,看到了吗)
增量主键永远不会返回,也永远不会返回。如果出于任何原因需要一些可重用的编号,只需使用可重用的业务密钥创建另一列,并创建函数来填充它 答案很简单:不要重复使用id。这不是如何自动增量工作。我应该使用什么?我想自动增加+使用未设定的rows@KhalilHamdi什么不清楚?你不需要它。不要这样做。这是一个坏主意。重用已经使用的行是一个非常非常非常坏的主意。正如大家所说的那样。不要这样做。