Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
Php 如何在mysql中保持连续的id号行计数_Php_Mysql - Fatal编程技术网

Php 如何在mysql中保持连续的id号行计数

Php 如何在mysql中保持连续的id号行计数,php,mysql,Php,Mysql,我有一个id列,它是整数和自动递增类型 问题是,每当我删除一行时,数字的连续性就会中断 +----------------------+----+ | name | id | +----------------------+----+ | mashable | 1 | | Behance | 2 | | Techcrunch | 3 | |

我有一个id列,它是整数和自动递增类型

问题是,每当我删除一行时,数字的连续性就会中断

+----------------------+----+    
| name                 | id |    
+----------------------+----+    
| mashable             |  1 |    
| Behance              |  2 |    
| Techcrunch           |  3 |    
| flipkart             |  4 |   
+----------------------+----+
例如,如果我删除id=2的行,那么我在id中的输出将是

+----------------------+----+
| name                 | id |
+----------------------+----+
| mashable             |  1 |
| Techcrunch           |  3 |
| flipkart             |  4 |
+----------------------+----+
但我希望它是这样的:

+----------------------+----+
| name                 | id |
+----------------------+----+
| mashable             |  1 |
| Techcrunch           |  2 |
| flipkart             |  3 |
+----------------------+----+

怎么做

要直接回答您的问题,下面是如何修复顺序数字字段中的空白:

但是让我们在这里小心一会儿

让我们假设id是您的主键。ID通常是对象的参考点,因为自动生成的ID是唯一的。称之为惯例

这意味着,如果代码的任何部分依赖于id列,则应用程序将中断

如果需要这样做,那么使用其他一些字段作为主要参考。可能是唯一的名称字段或类似的内容

若ID不是您的主键,那个么您可能应该为它选择另一个名称作为开始。无论如何,在这种情况下,你打破任何东西的机会要小得多


注意我说的更小,但不是零。我们不了解您的应用程序,因此您的代码可能会将id用于重要的内容,这将给您带来麻烦。

第一个问题是:为什么需要它?你是想让它看起来漂亮,还是有很强的商业理由?MySQL整数类型可以容纳足够多的值:ID是您的主键吗?如果是这样,那么不要这样做。如果不是主键,那么如何??为什么不呢@他现在没有任何具体的工作,但我确实想知道@biziclop@Aayush:因为担心这样的事情生命短暂,所以不值得担心。将is作为非主键字段,让我们假设它是数字字段而不是id,它有什么区别?这就是我要问的,如果我的字段名是number,而现在它不是primary,那么我如何才能使它以这种方式工作?