sql >> Databasteknik >  >> RDS >> Mysql

får syntaxfel vid skapande av funktion

  • Du måste omdefiniera avgränsare till något annat (t.ex.:$$ ), istället för (; ).
  • Också som en säkerhetsåtgärd, kontrollera om samma namnfunktion redan finns eller inte (DROP FUNCTION IF EXISTS )
  • I slutet, definiera om DELIMITER till ;

Försök :

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 ;



  1. Sammanfogar två liknande tabeller i MySQL

  2. Importera stor MySQL .sql-fil på Windows med Force

  3. SQL IF SELECT-frågan är null och gör sedan en annan fråga

  4. Hur STR_TO_DATE() fungerar i MariaDB