MySQL和PHP插入和更新并立即检索新值


MySQL and PHP INSERT and UPDATE and retrieve new value immediately

我对MySQL很陌生,有一个包含3列的表(listOfNames),如下所示:

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

我通过首先检查名称行是否已经存在来将"name"插入到表中,如果不存在,我们添加它,否则我们通过将其值增加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查询返回一个bool。

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

感谢您提供的任何帮助。

如果没有其他查询,就无法立即检索新值。您将始终需要发送一个SELECT查询来检索新值。