0

我希望有人可以帮助我弄清楚我认为真的很容易。

我有一个动态添加行的表单。当我添加行时,我想显示一个唯一值,并且正在使用 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 = "";

我希望那里的人可以看到一些简单的东西或提出一种更好的方法。

提前致谢。

4

1 回答 1

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。

于 2013-08-04T01:53:55.477 回答