php - 多次获取自动增量

标签 php mysql

我希望有人能帮助我弄清楚我认为非常简单的事情。

我有一个可以动态添加行的表单。当我添加行时,我想显示一个唯一值,并使用 MySql 表主键 - 称为 ID。因为会有多个用户,所以我想立即保留该 ID,这样它就不会被重复使用。由于用户可能决定将另一个项目添加到列表中,并添加另一个动态行,因此我想重复该过程(从该表中获取新的自动增量值,并立即保留它)。

不幸的是,尽管我已经确认自动增量值已增加,但我仍然获得相同的 ID 值。

这是我在使用 DOM 元素添加行之前在“添加行”函数中使用的内容:

$result = mysql_query("SHOW TABLE STATUS LIKE 'table'");
$row = mysql_fetch_array($result);
$nextId = $row['Auto_increment'];   

$query = "INSERT INTO table (id, identifier1, identifier2) VALUES ('".$nextId."','".$identifier1."','".$identifier2."')";
$result = mysql_query($query) or die(mysql_error());

我尝试在它们之前添加以下内容,希望它能够清空所有内容并提取所有新值:

$nextId = 0;
$row = "";
$result = "";
$query = "";

我希望有人能看到一些简单的东西或提出一种更好的可行方法。

提前致谢。

最佳答案

好的,因为您的评论显示您的 INSERT 中有一个小错误,请尝试以下操作:

$query = "INSERT INTO table (identifier1, identifier2) 
          VALUES ('".$identifier1."','".$identifier2."')"; 
$result = mysql_query($query) or die(mysql_error()); 
$nextId = mysql_insert_id()+1; //you also need to +1 to get the next number

但是不能保证下一个 id 会比上一个 id +1。

关于php - 多次获取自动增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039038/

相关文章:

php - WooCommerce:对旧(已完成)订单加税

php - 使用 Ajax 时如何访问当前 PHP 文件之外的 PHP 函数?

C# & MySQL 多字段搜索

php - 用于按时间范围对空帧进行分组的 SQL

php - 无法通过 PHP exec 执行 DOC 到 PDF 的转换命令

php - 如何创建没有间距/填充的图片网格? (WordPress)

php - Javascript 函数未定义

php - 如何显示来自 mySQL 数据库的两个单独表的值?

mysql - case 和 order by - 如何指定某些内容应显示在列表末尾?

Java MySQL 驱动程序和 ClassNotFoundException