«# 1064 - У вас возникла ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с CREATE FUNCTION TavoliLiberi (dataora DATETIME) RETURN BOOL BEGIN DECLARE prese 'на линии 3 "в этой функции:«Синтаксическая ошибка MySQL» при создании функции
DELIMITER $
DROP FUNCTION IF EXISTS TavoliLiberi;
CREATE FUNCTION TavoliLiberi (dataora DATETIME) RETURN BOOL
BEGIN
DECLARE presenti BOOL;
DECLARE numPrenotazioni INT;
DECLARE numTavoli INT;
SELECT COUNT(*) INTO numPrenotazioni
FROM Prenotazioni
WHERE DataOra = dataora;
SELECT COUNT(*) INTO numTavoli
FROM Tavoli;
IF (numPrenotazioni < numTavoli) THEN
SET presenti = TRUE;
ELSE
SET presenti = FALSE;
END IF;
RETURN presenti;
END $
DELIMITER ;
Что случилось?
В объявлении функции является ВОЗВРАТ не ВЕРНУТЬ «CREATE FUNCTION TavoliLiberi (dataora DATETIME) ВОЗВРАТ BOOL ». –
[SOLVED] Проблема заключалась в том, что «RETURN» вместо «RETURNS», как Luis G. Costantini R. предложил мне, но только загружая его с терминала и не импортируя его с phpMyAdmin, он обрабатывался правильно. – Giacomo