在mysql触发Null值的比较

时间:2014-06-30 23:58:45

标签: mysql triggers nul

这是我更新记录后的触发器。 old.ActivatedDate始终为Nullnew.ActivatedDate始终不是Null

这是我的代码,但它不起作用,因为它的条件不会返回true以继续其他作业。

SET @OldActivateDate := OLD.ActivateDate;
SET @NewActivateDate := NEW.ActivateDate;

IF(@NewActivateDate IS NOT NULL AND @OldActivateDate IS NULL AND @OldActivateDate!=@NewActivateDate)
THEN
/* Do Some Functionality */
END IF;

我也测试了这种方法,但它再次无效。

if (@NewActivateDate != @OldActivateDate) and ( @NewActivateDate is not null and @OldActivateDate is null )
THEN
/* Do Some Functionality */
END IF;

1 个答案:

答案 0 :(得分:0)

如果您想检查old.ActiveDate应该NULLnew.ActivateDate不应该是NULL,那么为什么还有其他条件。只需使用:

IF (@NewActivateDate IS NOT NULL AND @OldActivateDate IS NULL) THEN
    . . .
END IF