我有保存记录的数据库。记录另存为
身份证,姓名




缺口
名称
用户名


现在,当我删除I​​D为2的记录时,在我的数据库中,它保持为
1.尼克
3.用户名
我想要当我从数据库中删除一个记录时,另一个id的值自动减小,以便获取。
1.尼克
2.用户名
你明白我的问题吗?抱歉英语不好

按钮删除代码

if(isset($_POST['tipkaobrisi'])) // pritisnuta tipka obrisi
{
    $obrisankorisnik = $_POST['obrisi'];
    if ( $obrisankorisnik == '' )echo "<div align='center'>Unesite korisnika kojeg  zelite obrisati!</div>";
    else
    {
        mysql_query("DELETE FROM Korisnici WHERE Korisnik ='$obrisankorisnik'");
        echo "<div align='center'>Korisnik obrisan<br><br></div>";
    }
}

最佳答案

大多数ID列都不打算这样做。但是,您可以通过修改用于访问这些记录的语句来模仿此功能。

例如。而不是使用ID值,请使用以下命令

select  @rownum:=@rownum+1 as ID, name from users, (SELECT @rownum:=0) r order by id;


它将为每条记录返回一个没有空格的数字。根据您想要的用途,这可能就足够了。如果要将这个新的ID值视为ID值,请创建一个视图并基于该视图访问元素,如下所示:

CREATE VIEW users_view as select  @rownum:=@rownum+1 as ID, name from users, (SELECT @rownum:=0) r order by id;


此时,您可以选择* FROM users_view WHERE ID = $ id并使它照常工作。只要您从未插入未自动递增的新记录,此方案就应该起作用。

请记住,删除任何人都会更改一堆ID,因此不建议这样做。

10-04 22:58
查看更多