我有保存记录的数据库。记录另存为
身份证,姓名
例
缺口
名称
用户名
现在,当我删除ID为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,因此不建议这样做。