Php 删除一行时如何更改总体索引
我的表结构(用户):Php 删除一行时如何更改总体索引,php,mysql,sql,Php,Mysql,Sql,我的表结构(用户): ID(索引,自动递增) 名字 以下是此表中的当前行(用户): 当我使用php删除第2行时,这是Mike的行。如何使用php将harry的ID更改为2,将christine的ID更改为3 所以它看起来不像: ID NAME ----------- 1 John 3 Harry 4 Christine ID NAME --------- 1 John 2 Harry 3 Christine …所以它看起来像: ID NA
- ID(索引,自动递增)
- 名字
ID NAME
-----------
1 John
3 Harry
4 Christine
ID NAME
---------
1 John
2 Harry
3 Christine
…所以它看起来像:
ID NAME
-----------
1 John
3 Harry
4 Christine
ID NAME
---------
1 John
2 Harry
3 Christine
重置
AUTO_INCREMENT
列不好。特别是当您使用关系数据库时
但是,如果需要,则在删除之前需要获得自动增量
列的最大值,删除之后需要根据最大值重置自动增量字段
ALTER TABLE tablename AUTO_INCREMENT = value
这会将要使用的下一个自动增量重置为给定值 你可能不想那样做;这通常是个坏主意。你想完成什么?为什么你认为你需要更改ID?你想破坏你的数据库吗?不要这样做,特别是如果ID是你的主键。你想更改数据库或html页面中的ID吗?我同意Ryan的看法。在大多数情况下,这会产生非常坏的影响。如果有另一个表包含任意实体以及拥有它们的用户的用户id,那么更改用户id将导致harry失去其实体的所有权,并获得Mike实体的所有权