MYSQL + PHP删除表中的行时如何更新自动递增的ID?

时间:2018-12-07 17:22:23

标签: php mysql

 $q = "DELETE FROM newfiles WHERE id=$id LIMIT 1;";
 $q .= "SET @i=0;";
 $q .= "UPDATE newfiles SET id=(@i +:=1)";

例如:-我有6行

1 2 3 4 5 6 当我删除第4行时 我希望第5行变成4,第6行变成5

1 个答案:

答案 0 :(得分:0)

通常这不是一个好习惯。但是您可以尝试这样。这将起作用。

$q = "SET @id = $id;";
$q .= "DELETE FROM newfiles WHERE id = @id;";
$q .= "UPDATE newfiles SET id = id-1 WHERE id > @id;";