Php 如何在MySQL中将表中的最后一个id插入到另一个表中?
我想获取数据库中最近项目的id,将其递增一,然后将新id插入到另一个表中 我试过:Php 如何在MySQL中将表中的最后一个id插入到另一个表中?,php,mysql,Php,Mysql,我想获取数据库中最近项目的id,将其递增一,然后将新id插入到另一个表中 我试过: $select = mysql_query("SELECT id FROM tableName ORDER BY id DESC"); while ($return = mysql_fetch_assoc($select)) { $id = $return['id']; $newId = $id++; } mysql_query("INSERT INTO anotherTable (someC
$select = mysql_query("SELECT id FROM tableName ORDER BY id DESC");
while ($return = mysql_fetch_assoc($select)) {
$id = $return['id'];
$newId = $id++;
}
mysql_query("INSERT INTO anotherTable (someColumn) VALUES ('$newId')");
但它不起作用。如何做到这一点?你不应该这样做。而是将一条新记录插入到
tableName
中,然后使用捕获新ID,然后将其插入到另一个表中。通过这种方式,您可以避免在相反的情况下可能发生的比赛情况。您不应该这样做。而是将一条新记录插入到tableName
中,然后使用捕获新ID,然后将其插入到另一个表中。通过这种方式,您可以避免使用另一种方式时可能发生的比赛条件。为什么要使用while语句?如果你只想要最新的身份证,就把它拿出来
$select = mysql_query("SELECT id FROM tableName ORDER BY id DESC");
$return = mysql_fetch_assoc($select);
$id = $return['id'];
$newId = $id + 1;
mysql_query("INSERT INTO anotherTable (someColumn) VALUES ('$newId')");
为什么使用while语句?如果你只想要最新的身份证,就把它拿出来
$select = mysql_query("SELECT id FROM tableName ORDER BY id DESC");
$return = mysql_fetch_assoc($select);
$id = $return['id'];
$newId = $id + 1;
mysql_query("INSERT INTO anotherTable (someColumn) VALUES ('$newId')");
您可以尝试以下方法:
$select = mysql_query("SELECT id FROM tableName ORDER BY id DESC");
if(! $select)
die("Query Failed");
$return = mysql_fetch_assoc($select);
$id = $return['id'];
$newId = ++ $id; // post increment does not work...use preincrement.
mysql_query("INSERT INTO anotherTable (someColumn) VALUES ('$newId')");
您可以尝试以下方法:
$select = mysql_query("SELECT id FROM tableName ORDER BY id DESC");
if(! $select)
die("Query Failed");
$return = mysql_fetch_assoc($select);
$id = $return['id'];
$newId = ++ $id; // post increment does not work...use preincrement.
mysql_query("INSERT INTO anotherTable (someColumn) VALUES ('$newId')");
使用mysql\u insert\u id()获取最后一个插入的id使用mysql\u insert\u id()获取最后一个插入的id为什么需要它?为什么不使用自动增量功能?是否有特定的错误消息?在这里,$newId也将等于$id$id++
只会在赋值发生后增加$id的值。@Col.Shrapnel我确实使用自动增量,这完全是为了另一个目的。它不应该是为了另一个目的,因为它会破坏数据库的完整性为什么需要它?为什么不使用自动增量功能?是否有特定的错误消息?在这里,$newId也将等于$id$id++
只会在赋值发生后增加$id的值。@Col.Shrapnel我确实使用自动增量,这完全是为了另一个目的。它不应该是为了另一个目的,因为它会破坏数据库的完整性great,谢谢我需要删除while。出于某种奇怪的原因,$newId=$id++不起作用,但$newId=$id+1起作用。太好了,谢谢你,我需要删除它。出于某种奇怪的原因,$newId=$id++不起作用,但$newId=$id+1起作用。