Mysql SQL运行命令(如果行存在)

Mysql SQL运行命令(如果行存在),mysql,sql,Mysql,Sql,我是MySQL新手,我正在尝试使用以下伪代码: 选择如果 EXISTSSELECT*从“email`=admin和“token`=blabla”的用户中选择, 从某个表中更新*,其中'var`=不重要, 未经授权; 我试图实现的是基于行的存在运行代码,如果行不存在,则返回一条消息或一些可用的内容。如果它确实存在,请运行另一个SQL命令,然后返回这些结果 这可能吗?您的意图有点难以从无效语法中理解。但你问题的要点是你可以使用where子句: 也可以将其表示为联接。假设子查询最多返回一行: UPD

我是MySQL新手,我正在尝试使用以下伪代码:

选择如果 EXISTSSELECT*从“email`=admin和“token`=blabla”的用户中选择, 从某个表中更新*,其中'var`=不重要, 未经授权;

我试图实现的是基于行的存在运行代码,如果行不存在,则返回一条消息或一些可用的内容。如果它确实存在,请运行另一个SQL命令,然后返回这些结果


这可能吗?

您的意图有点难以从无效语法中理解。但你问题的要点是你可以使用where子句:

也可以将其表示为联接。假设子查询最多返回一行:

UPDATE sometable t CROSS JOIN
       (SELECT 1
        FROM users
        WHERE email = 'admin' AND token = 'blablabla'
        LIMIT 1
       ) x
    SET . . . 
    WHERE var = 'notimportant' ;

更新*应该是什么?是的!这就是我要找的!我不知道你可以使用,如果它与数据无关。非常感谢。嗯。。。。看起来MySQL正在执行并存在,从用户中选择1,其中电子邮件='admin'和令牌='blabla'匹配每一行,是否有办法扭转这种局面?
UPDATE sometable t CROSS JOIN
       (SELECT 1
        FROM users
        WHERE email = 'admin' AND token = 'blablabla'
        LIMIT 1
       ) x
    SET . . . 
    WHERE var = 'notimportant' ;