Ci sono molti problemi con il tuo codice:
- Utilizzare un delimitatore come spiegato in Definizione di Stored Programmi
- non devono esserci
Salla fine delDAYinON SCHEDULE EVERY 15 DAYcome spiegato in CREATE EVENT Syntax - La documentazione dice "Come per le routine memorizzate, puoi usare la sintassi dell'istruzione composta nella clausola DO usando le parole chiave BEGIN e END", quindi un
BEGINla parola chiave deve essere aggiunta dopo il primoDO - ogni istruzione deve essere separata da un punto e virgola
- Sintassi WHILE
dice che il codice deve essere racchiuso tra
WHILE search_condition DOeEND WHILE - nel tuo
INSERT,dayè un campo:racchiudilo tra apici, non tra virgolette
Codice fisso :
DELIMITER $$$
CREATE EVENT autoDayInsert ON SCHEDULE EVERY 15 DAY DO BEGIN
SET @dayCounter = 0;
WHILE @dayCounter < 15 DO
INSERT INTO appointmentDays(`day`) VALUES(NOW() + INTERVAL @dayCounter DAY);
SET @dayCounter = @dayCounter +1;
END WHILE;
END $$$
DELIMITER ;
Ti suggerisco di leggere i link che ho fornito nella mia risposta. In futuro, in caso di problemi, fare riferimento alla documentazione ufficiale:le informazioni fornite sono accurate e aggiornate e quasi sempre vengono fornite con molti esempi che aiutano a capire la sintassi da utilizzare.