У меня есть таблица а точнее запрос который создает таблицу в бд 
CREATE TABLE IF NOT EXISTS `airdrops` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(256) NOT NULL,
    `token_name` varchar(256) NOT NULL,
    `image` varchar(256) NOT NULL,
    `status` int(11) NOT NULL DEFAULT 0,
    `created` datetime NOT NULL,
    `start_date` datetime NOT NULL,
    `end_date` datetime NOT NULL,
    `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
После создания таблицы я добавляю несколько материалов с датами и триггер на изменения статуса в строке 
статус но он по какой то причине не хочет работать корректно.
Мне нужно сделать так что если дата создания `created` меньше за дату старта `start_date` то статус был 
0, если наступила дата старта `start_date` и текущая дата меньше или равна дате окончания `end_date` то статус был 
1, а если текущая дата больше за дату окончания `end_date` то статус был 2.
Мой триггер
DELIMITER $$
CREATE TRIGGER update_status_before_insert BEFORE INSERT ON airdrops
FOR EACH ROW
BEGIN
    IF NEW.created < NEW.start_date THEN
        SET NEW.status = 0;
    ELSEIF NOW() > NEW.end_date THEN
        SET NEW.status = 2;
    ELSEIF NEW.created <= NEW.start_date AND NEW.created < NEW.end_date THEN
        SET NEW.status = 1;
    END IF;
END$$
CREATE TRIGGER update_status_before_update BEFORE UPDATE ON airdrops
FOR EACH ROW
BEGIN
    IF NEW.created < NEW.start_date THEN
        SET NEW.status = 0;
    ELSEIF NOW() > NEW.end_date THEN
        SET NEW.status = 2;
    ELSEIF NEW.created <= NEW.start_date AND NEW.created < NEW.end_date THEN
        SET NEW.status = 1;
    END IF;
END$$
DELIMITER ;
Пробовал так но нечего не помогло
DELIMITER $$
CREATE TRIGGER update_status_before_insert BEFORE INSERT ON airdrops
FOR EACH ROW
BEGIN
    IF NEW.created < NEW.start_date THEN
        SET NEW.status = 0;
    ELSEIF NOW() > NEW.end_date THEN
        SET NEW.status = 2;
    ELSEIF NOW() >= NEW.start_date AND NEW.start_date <= NEW.end_date THEN
        SET NEW.status = 1;
    END IF;
END$$
CREATE TRIGGER update_status_before_update BEFORE UPDATE ON airdrops
FOR EACH ROW
BEGIN
    IF NEW.created < NEW.start_date THEN
        SET NEW.status = 0;
    ELSEIF NOW() > NEW.end_date THEN
        SET NEW.status = 2;
    ELSEIF NOW() >= NEW.start_date AND NEW.start_date <= NEW.end_date THEN
        SET NEW.status = 1;
    END IF;
END$$
DELIMITER ;