Сложные условия в процедурах\триггерах MySQL
Есть такой вот триггер
DELIMITER //
CREATE TRIGGER `change_status_to_failed` AFTER UPDATE ON `tasks_dicts`
FOR EACH ROW
BEGIN
DECLARE dicts_count INT;
DECLARE stat INT;
SELECT COUNT(*) INTO dicts_count FROM (SELECT * FROM tasks_dicts WHERE status NOT IN ('1') AND net_id=NEW.net_id) as alias;
IF (dicts_count=0) THEN
UPDATE tasks SET status='3' WHERE id=NEW.net_id;
UPDATE tasks SET forDelete='1' WHERE id=NEW.net_id;
END IF;
SELECT status INTO stat FROM tasks WHERE id=NEW.net_id;
IF (dicts_count!=0 AND stat='3') THEN
UPDATE tasks SET status='0' WHERE id=NEW.net_id;
END IF;
END
//
DELIMITER ;
Второе условие никак не хочет работать. Переписывал как два вложенных условия, результат один - не работает. ЧЯДНТ?
P.S. Естественно все запросы валидные. Не работает только второй if, первый все выполняет.