我正在使用PHP和PHPMyAdmin来创建一个小型的站点.我给会员一个ID号码,根据该号码,数据库中当前最大的号码是+1
在我得到PHP脚本之前,我做了25次测试.
然后我使用PHPMyAdmin删除了这25个条目.
但现在,当我的PHP代码执行此操作时:
function getLatestID() { $query = "SELECT max(member_id) FROM members"; $result = @mysql_query($query) or showError("unable to query database for user information"); if (!($record = mysql_fetch_array($result))) return null; return $record[0]; }
我得错了号码.
测试场景:数据库表包含3个条目,ID为1,2和3.
我启动一个调试会话并在返回时放置一个断点$record[0]
.我检查它的内容,而不是3,这是最大的数字,它是28.
在25 + 3 = 28中,我已经删除了25个条目...
有谁知道是什么导致了这个以及我如何解决它?
这可能是因为你设置了auto_increment并且查询返回了最高的id.删除其他记录时,可能没有重置自动增量计数.
如果您auto_increment
在MySQL中使用,则删除记录不会降低下一个值.
你可以用TRUNCATE TABLE mytable
- 清空一个表- 这将重置该值.