如何使用上次插入的id从mysql中获取记录?

时间:2016-05-11 06:42:26

标签: php mysql

这是我尝试的,它工作正常..

$sql = "SELECT * FROM patient where id = (SELECT max(id) FROM patient)";   
result = mysql_query($sql);
if (mysql_num_rows($result) > 0)
{
    // output data of each row
    while($row = mysql_fetch_assoc($result)) 
    {
        $patientid=$row["id"];
        $patientname=$row["name"];
        $patientrefer=$row["referto"];
        $patientdisease=$row["disease"];
    }
} 
else 
{
    echo "0 results";
}

但每当我用

替换查询时
$sql = "SELECT * FROM patient where id = LAST_INSERT_ID()";

它始终会返回0个结果。

1 个答案:

答案 0 :(得分:1)

为了从您的表中获取最后(最新)记录,您可以与ORDER BY一起降序LIMIT

SELECT * FROM patient ORDER BY id DESC LIMIT 0,1

在这种情况下你根本不需要LAST_INSERT_ID。此外,对于并发插入,您无法使用LAST_INSERT_ID确保用户的最后一次插入确实是最新插入。