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

mysql, sql Update only if a record was found

要求是有条件的更新,我只想在找到用户行时更新记录。在 WHERE EXISTSIFCASE 上进行了大量研究,但无法找到解决方案。

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。不需要 SELECT:

UPDATE user_token
    SET authToken = ?
    WHERE authToken = ?;