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


How to fetch record from mysql using last inserted id?

这是我尝试过的,效果很好。。

$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结果。

为了从表中获取最后(最新)记录,您可以将ORDER BYLIMIT:一起进行递减

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

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