mysql,sql仅在找到记录时更新

mysql,sql仅在找到记录时更新,mysql,node-mysql,Mysql,Node Mysql,这个要求是一个条件更新,我只想在找到用户行时更新记录。在存在的地方,如果,和案例上进行了大量研究,但没有找到解决方案 serviceRequest.sql = "SELECT @id:=id FROM user_token WHERE authToken = ?;\ UPDATE user_token SET authToken = ? WHERE id = @id;"; serviceRequest.values = [request.query.authToken, "newTo

这个要求是一个条件更新,我只想在找到用户行时更新记录。在
存在的地方
如果
,和
案例
上进行了大量研究,但没有找到解决方案

serviceRequest.sql = "SELECT @id:=id FROM user_token WHERE authToken = ?;\
     UPDATE user_token SET authToken = ? WHERE id = @id;";

serviceRequest.values = [request.query.authToken, "newToken"];

您只需使用
更新
。无需
选择

UPDATE user_token
    SET authToken = ?
    WHERE authToken = ?;

您只需使用
更新
。无需
选择

UPDATE user_token
    SET authToken = ?
    WHERE authToken = ?;

我的查询中需要一个正确或错误的结果集,这就是为什么需要选择<如果找到记录并更新了令牌,则代码>true;如果未找到匹配记录,则代码>false。为什么不直接使用
行计数()
()。这是确定更新了多少行的典型方法。在节点mysql中,对更新查询的响应会自动保留row_count(),只需选择它-正如Gordon所说,不需要选择@user2727195ok,我们可以做一些类似IF(row_count()>0)的事情吗然后在sql查询中不使用存储过程等进行更新。此后,您甚至不需要
选择行数()
,只需从querys response@user2727195I查询中获取
affectedRows
。我需要一个true或false结果集,这就是为什么需要选择<如果找到记录并更新了令牌,则代码>true;如果未找到匹配记录,则代码>false。为什么不直接使用
行计数()
()。这是确定更新了多少行的典型方法。在节点mysql中,对更新查询的响应会自动保留row_count(),只需选择它-正如Gordon所说,不需要选择@user2727195ok,我们可以做一些类似IF(row_count()>0)的事情吗然后在sql查询中不使用存储过程等进行更新。此后,您甚至不需要
选择ROW_COUNT()
,只需从querys response@user2727195获取
affectedRows