我必须做类似的事情:
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;
答案 0 :(得分:2)
您无法使用=
运算符比较NULL。您应该使用IS NULL
。
NULL= whatever
始终是假的。
看看这个问题: Why is null<>null=null in mysql