多次获得自动增量

时间:2013-08-04 01:51:17

标签: 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 = "";

我希望有人可以看到一些简单的东西,或者建议一种更好的方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,因为您的评论显示您的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将是最后一个+1。