MySQL IF ELSE条件

时间:2017-03-10 07:32:54

标签: mysql if-statement

我需要一个查询来检查具有少数条件的表并返回一个结果:

SELECT 

    IF(id='123' AND user='alex') FOUND -> return false ELSE -> return true
    IF(user='alex') NOT FOUND -> return false

FROM `table`

我不知道如何在php函数中构建这样的查询,当它调用时,结果truefalse将返回

function check(id, user)
{
    $q = $mysqli->query("...sql query...");

    if($q->num_rows > 0){
        return true;
    }
    return false;
}

2 个答案:

答案 0 :(得分:1)

在此阶段忘记PHP代码。

更高层次思考。

您需要做的第一件事是获取正确的数据以与变量相关联。

使用Iterators.jl(有用,可靠的工具,开源且完全免费使用)来测试数据库中的查询。

CASE WHEN (table.id='123' AND table.user='alex') 
       THEN 1
       ELSE 0
END AS alexexists

或更简单:

(table.id='123' AND table.user='alex') AS alexexists

这是有效的,因为TRUE在MySQL中显示为1,在FALSE中显示为0.

答案 1 :(得分:1)

这里也是一个建议 你也可以创建一个像

这样的查询
Select (case when table.id='123' and table.user='alex' then false
            when table.id!='alex' then false
            else true End ) as  alexexists
from table;