1. 程式人生 > >巧妙解決mysql刪除或新增記錄時,對自增主鍵ID進行重新排序的問題

巧妙解決mysql刪除或新增記錄時,對自增主鍵ID進行重新排序的問題

一、問題描述

表一

id 姓名
1 張三
2 李四

表二(當刪除第一條記錄時,顯示為表二)

id 姓名
2 李四

表三(如何使表顯示為表三,即實現對錶中的id欄位重新排序)

id 姓名
1 李四

二、問題解決

原理:重新定義一個變數用來顯示錶中的序列號

echo "<table style=' text-align: center' border='2'>
<tr><th>ID</th><th>名字</th><th>年齡</th><th>編輯</th></tr>";
 for($i=0;$i<$dataCount;$i++){
     $result_arr=mysqli_fetch_assoc($result);//返回表中每條資料的具體內容

     $id= $result_arr['id'];
     $count=$i+1;//重新定義一個變數count作為表格排序顯示的序列號
     $name= $result_arr['name'];
     $age= $result_arr['age'];

     //表格輸出時,輸出新定義的變數count,如下
     echo "<tr><td>$count</td><td>$name</td><td><a href='deleteUser.php?id=$id'>刪除</a></td></tr>";
 }
  echo "</table>";


三、好處

對於解決如題的問題,相對於使用資料庫的id欄位實現重新排序,如上解決問題,避免了當資料條目很多時,資料庫的額外開銷。