Mysql
 sql >> Database >  >> RDS >> Mysql

ottenendo un errore di sintassi durante la creazione della funzione

  • Devi ridefinire Delimiter in qualcos'altro (ad esempio:$$ ), invece di (; ).
  • Anche come misura di sicurezza, verificare se la funzione omonima esiste già o meno (DROP FUNCTION IF EXISTS )
  • Alla fine, ridefinisci il DELIMITER a ;

Prova :

DELIMITER $$
DROP FUNCTION IF EXISTS `TitleToFileName`$$
CREATE FUNCTION TitleToFileName(title varchar(200)) RETURNS varchar(200)
  BEGIN
    set title = REPLACE(title,":"," ");
    set title=REPLACE(title,"/"," ");
    set title=REPLACE(title,"_"," ");
    RETURN title;
  END $$
DELIMITER ;