我需要大家的帮助。不知道这是否可能。
在PHP中,当我向数据库插入新查询时,ID值将自动递增。我还有一个变量在该查询中,即parentID
。
运行查询时,parentID
应等于自动递增的ID。
我尝试使用mysqli_insert_id($conn);
函数。获取最后一个ID。将其值加一再将该值分配给parentID
,然后插入到数据库中。
但有些时候它可能会出现孤立问题。因此,任何人都可以指导提供其他解决方案以避免孤立问题。孤立意味着当我尝试插入时,从数据库中获得最后一个ID。现在将该值分配给ParendID
变量。然后我尝试插入到数据库中。假设这可能需要几分钟时间。在这几分钟内,其他人可能会插入他们自己的信息。那时我的最后一个ID将不同。因此,我将使用错误的parendID
值进行插入。
请任何人帮助我解决这个问题..!!
<?php
//My connection
$last_id = $conn->insert_id; //get last ID from DB
$parent_id = $last_id + 1;
$sql = "INSERT INTO MyGuests (firstname, lastname, email, ParentID)
VALUES ('John', 'Doe', 'john@example.com', $parent_id)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully.";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
首先,我获取LastID然后将其值加一。然后我将其插入到数据库中。除了这种方法,在查询中,直接可以给出任何其他可能的解决方案来将父ID分配为字段的当前ID吗?