我希望有人可以帮我弄清楚我认为真的很容易。
我有一个动态添加行的表单。当我添加行时,我想显示一个唯一的值,并使用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 = "";
我希望有人可以看到一些简单的东西,或者建议一种更好的方法。
提前致谢。
答案 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。