Php 行删除时Mysql id自动递增非空筛选

Php 行删除时Mysql id自动递增非空筛选,php,mysql,sql,Php,Mysql,Sql,我在互联网上一无所获。我想在删除行时上移行(更改行的id)。比如: id value 1 edt55tgge 2 edgg545re 3 gt5edbeg4 4 e98i7thde 5 455t44ede id值 1 edt55tgge 2 edgg545re 3 gt5edbeg4 4 e98i7thde 5455T44EDE 当我删除第2行和第4行时,表应该是 id value 1

我在互联网上一无所获。我想在删除行时上移行(更改行的id)。比如:

id value 1 edt55tgge 2 edgg545re 3 gt5edbeg4 4 e98i7thde 5 455t44ede id值 1 edt55tgge 2 edgg545re 3 gt5edbeg4 4 e98i7thde 5455T44EDE 当我删除第2行和第4行时,表应该是

id value 1 edt55tgge 2 gt5edbeg4 3 455t44ede id值 1 edt55tgge 2 gt5edbeg4 3455T44EDE 我正在使用id
INT NOT NULL AUTO_INCREMENT主键
,这样就不可能了。
请帮助。

这不是自动递增列的工作方式,您最好让它自行排序

添加另一个INT列,称为类似于
my_id
的内容,并将其用于您想要做的事情


编辑:你也不能总是保证自动增量值是连续的,因为镜像和集群等原因,一些云提供商的自动增量键会在10或20秒内跳转。。。最好不要弄乱它们。

你不应该修改自动增量。这是数据库设计的一部分。您应该使用另一个列名作为标识符。需要添加另一列

如果您在php中使用它,那么最好为列执行一些代码功能(而不是自动递增)。
感谢

在使用
自动启动时
这几乎是不可能的。
id
是您的主键-这意味着所有其他具有FK的表也必须以某种方式神奇地“移动”。更不用说对其他拥有过时的代理项键(不再是幂等键)的客户带来的不便了。您的意思是说我应该使用
INT Not NULL主键
我认为最好的做法是拥有一个自动递增的主键,只需添加一个“附加”INT列,然后自己管理该列。离开“自动增量”列以执行它的操作。