Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL IF和helper_Mysql - Fatal编程技术网

MySQL IF和helper

MySQL IF和helper,mysql,Mysql,我试图写一个if语句,如果用户被禁止并且时间已经过去,它就会执行。我有一个名为players的表,其中有用户名、禁止和过期列。我如何检查一个玩家是否被禁止,并且他们的禁令是否在当前时间之前过期,然后调用一个存储过程 这就是我尝试过的: IF (SELECT p.banned FROM players p WHERE p.username=user = 1 AND p.expires FROM players p WHERE p.username=user < NOW()) THEN Cal

我试图写一个if语句,如果用户被禁止并且时间已经过去,它就会执行。我有一个名为players的表,其中有用户名、禁止和过期列。我如何检查一个玩家是否被禁止,并且他们的禁令是否在当前时间之前过期,然后调用一个存储过程

这就是我尝试过的:

IF (SELECT p.banned FROM players p WHERE p.username=user = 1 AND p.expires FROM players p WHERE p.username=user < NOW()) THEN
Call unban(user);
END IF;
我已经找到了如何做到这一点,下面是代码,但大多数阅读本文的人可能已经知道如何做到这一点

    IF (SELECT p.banned FROM players p WHERE p.username=user)=1 AND (SELECT p.expires FROM players p WHERE p.username=user) < NOW() THEN
    Call unban(user);
    END IF;
分三步使用:

用户和播放器 检查何处过期>立即 对结果查询执行函数
IF是一个函数如果您想将其用作流控制,则需要在BEGIN-END块中使用它