Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql增量_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Mysql增量

Mysql增量,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我在表中有一个自动递增列。当我删除一行时,我希望能够重用一个ID,但系统没有这样做。你能帮我吗 我希望系统再次使用未使用的行ID。正如大多数人在评论中指出的那样,这是个坏主意。您必须以以下方式编程应用程序的删除功能: 将行标记为已删除,以便能够用新数据填充该行 强制将数据插入空插槽 我不确定它会对更新索引产生什么样的性能影响,通常主键指示物理存储(MSSQL)上的行排序方式,但这肯定是: 为应用程序带来额外的复杂性 您不能保证其他应用程序/用户不会不顾您的逻辑删除和插入行。。。除非您带来

我在表中有一个自动递增列。当我删除一行时,我希望能够重用一个ID,但系统没有这样做。你能帮我吗


我希望系统再次使用未使用的行ID。

正如大多数人在评论中指出的那样,这是个坏主意。您必须以以下方式编程应用程序的删除功能:

  • 将行标记为已删除,以便能够用新数据填充该行
  • 强制将数据插入空插槽
我不确定它会对更新索引产生什么样的性能影响,通常主键指示物理存储(MSSQL)上的行排序方式,但这肯定是:

  • 为应用程序带来额外的复杂性
  • 您不能保证其他应用程序/用户不会不顾您的逻辑删除和插入行。。。除非您带来更大的复杂性并通过API公开所有内容
  • 您必须注意所有行及其在其他表中的键重用(考虑到id在某些地方将是外键)
  • 在与其他解决方案集成的情况下,对于数据使用者的开发来说是一场噩梦,因为他们不能依赖任何键来确保您已经有行或没有行(就像每次更新行时更改PKs一样糟糕,看到了吗)
我打赌其他人会想出更多的理由来解释这是个坏主意。简而言之这将使您的应用程序变得更加复杂,而且毫无意义。因此,除非您有很好的理由这样做,否则不要这样做


增量主键永远不会返回,也永远不会返回。如果出于任何原因需要一些可重用的编号,只需使用可重用的业务密钥创建另一列,并创建函数来填充它

答案很简单:不要重复使用id。这不是如何自动增量工作。我应该使用什么?我想自动增加+使用未设定的rows@KhalilHamdi什么不清楚?你不需要它。不要这样做。这是一个坏主意。重用已经使用的行是一个非常非常非常坏的主意。正如大家所说的那样。不要这样做。