-2

这是我更新记录后的触发器。old.ActivatedDate总是和Null总是new.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;
4

1 回答 1

0

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

IF (@NewActivateDate IS NOT NULL AND @OldActivateDate IS NULL) THEN
    . . .
END IF
于 2014-07-01T01:07:01.813 回答