Mysql функция, вернуть более одной строки
Я построил небольшую функцию mysq, которая должна проверить, все ли пользователи в моей таблице все еще vaid, у них есть строки validfrom и validto, и моя функция должна проверить, является ли дата validto старше, чем сейчас.
CREATE DEFINER=`root`@`localhost` FUNCTION `is_valid_user`(username
VARCHAR(10)) RETURNS tinyint(1)
BEGIN
DECLARE valid_from, valid_to datetime;
SELECT
Gültig_von, Gültig_bis
INTO valid_from , valid_to FROM
Benutzer
WHERE
Benutzername = username;
IF valid_from <= now() and valid_to > now() THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END if;
END
если я хочу продолжить эту функцию, я получаю сообщение об ошибке: Результат состоит из более чем одной строки.
1 ответ
Решение
Согласно опубликованному сообщению об ошибке, ваш запрос возвращает более одной строки, поэтому просто добавьте "LIMIT 1" после предложения where, чтобы у вас была только одна строка в каждый момент времени, если она существует.