我对我的数据库进行了以下调用,以从 AUTO_INCREMENT 列中检索最后一行 ID,我用它来查找下一行 ID:
$result = $mysqli->query("SELECT articleid FROM article WHERE articleid=(SELECT MAX(articleid) FROM article)");
$row = $result->fetch_assoc();
$last_article_id = $row["articleid"];
$last_article_id = $last_article_id + 1;
$result->close();
然后我将其$last_article_id
用作文件名系统的一部分。
这工作得很好......直到我删除了一行,这意味着调用检索的 ID 比我想要的更靠后。
一个例子是:
ID
0
1
2
3
4-(deleted row)
5-(deleted row)
6-(next ID to be used for INSERT call)
我希望文件名类似于6-0.jpg,但是文件名最终是4-0.jpg因为它的目标是 ID 3 + 1等等......等等......
当任何数量的先前行被删除时,我如何获得下一个 MySQL 行 ID 的任何想法?