MySQL其他如果 - 错误的其他条件?

时间:2014-06-11 14:55:32

标签: mysql

我必须做类似的事情:

if(@new_siren == null) 
{
 do something...
}
else
{
 do something with '@new_siren != null'...
}

它的MySQL代码,它无法正常工作。它检查@new_siren是否为null,否则就像是单独的闭包。即使@new_siren为null我也在'否则'条件。

IF(@new_siren = null)
THEN
    IF(@myClient like 'Requis')
    THEN
        CALL tmp_update_myReport(client_oid, 'C');
        CALL tmp_update_myStatut(client_oid, 'Erreur');
    END IF;
 ELSE
    IF(@new_siren NOT REGEXP '^[0-9]+$')
    THEN
        CALL tmp_update_myReport(client_oid, 'B');
        CALL tmp_update_myStatut(client_oid, 'Erreur');
    ELSE
        IF NOT(select luhn_(LEFT(@new_siren,9),9))
        THEN
            CALL tmp_update_myReport(client_oid, 'A?');
            CALL tmp_update_myStatut(client_oid, 'Erreur');
        END IF;
    END IF;
 END IF;

1 个答案:

答案 0 :(得分:2)

您无法使用=运算符比较NULL。您应该使用IS NULLNULL= whatever始终是假的。

看看这个问题: Why is null<>null=null in mysql