我是MySQL的新手,有一个包含3列的表(listOfNames),如下所示:

id[int] auto-increment (primary)
name[varchar] (unique)
timesSeen[int] default 1


我首先通过检查是否存在名称行来将“名称”插入表中,如果不存在则添加它,否则我们通过将其值增加1来更新timesSeen。我可以使用以下php mysqli对象来做到这一点:

$query = "INSERT INTO `listOfNames`(`name`) VALUES (`someName`) ON DUPLICATE KEY UPDATE `timesSeen` = VALUES (`timesSeen`) + 1";
$results = $conn->query($query);


现在,我要执行的操作是为someName访问timesSeen的新值,而无需进行新的SELECT查询。我认为您只需插入或更新它即可访问此行及其值,而不必进行新的单独的SELECT查询。但是$ conn-> query()只为INSERT查询返回布尔值。

那么,在我的INSERT UPDATE查询之后立即获取“ someName”的timesSeen新值的最简单方法是什么?我没有看到的$ conn对象有某种lastResult()成员函数吗?

感谢您的任何帮助,您可以提供。

最佳答案

没有其他查询,无法立即检索新值。您将始终必须发送SELECT查询以检索新值。

关于php - MySQL和PHP INSERT和UPDATE并立即检索新值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38549612/

10-09 19:25