0
Вот мой код:Как сохранить результат запроса в переменной?
BEGIN
IF (new.edited_id IS NULL) THEN
IF (SELECT 1 FROM users WHERE id = new.author_id AND IFNULL((active & b'1000000' > 0), 0) < 1) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "you cannot ask anymore";
ELSEIF (SELECT 1 FROM users WHERE id = new.author_id AND IFNULL((active & b'10000000' > 0), 0) < 1) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "you cannot answer anymore";
END IF;
ELSE
IF (SELECT 1 FROM users WHERE id = new.author_id AND IFNULL((active & b'100000000' > 0), 0) < 1) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "you cannot edit anymore";
END IF;
END
Как вы видите, условия этих внутренних IF
утверждений почти то же самое. Итак, как я могу его улучшить? Я имею в виду, как я могу сохранить результат этого запроса в переменной, а затем использовать эту переменную в качестве условий?
Существует три разных номера: '& b'1000000'',' & b'10000000'' и '& b'100000000''. –
ОК, я этого не заметил. В этом случае все запросы имеют разные результаты. Поэтому мы не можем использовать одну переменную для всех, если условия – jophab