#mysql #triggers #nul
#mysql #триггеры #nul
Вопрос:
Это мой триггер после записи обновления. 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;
Ответ №1:
Если вы хотите проверить, что old.ActiveDate
должно быть NULL
и new.ActivateDate
не должно быть NULL
, то почему у вас есть другие условия. Просто используйте:
IF (@NewActivateDate IS NOT NULL AND @OldActivateDate IS NULL) THEN
. . .
END IF