Der er mange problemer med din kode:
- Brug et afgrænsningstegn som forklaret i Definering af lagret Programmer
- der må ikke være nogen
S
i slutningen af DAY
iON SCHEDULE EVERY 15 DAY
som forklaret i CREATE EVENT-syntaks - Dokumentationen siger "Som med lagrede rutiner kan du bruge sammensatte sætningssyntaks i DO-sætningen ved at bruge BEGIN og END nøgleordene", så en
BEGIN
søgeord skal tilføjes efter den førsteDO
- hver erklæring skal adskilles med semikolon
- MENS Syntaks
siger, at koden skal være indesluttet mellem
WHILE search_condition DO
ogEND WHILE
- i din
INSERT
,day
er et felt:omslut det i baghak, ikke i anførselstegn
Fast kode :
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 ;
Jeg foreslår, at du læser de links, jeg gav i mit svar. I fremtiden skal du henvise til den officielle dokumentation, når du har et problem:de oplysninger, der gives der, er nøjagtige og opdaterede og kommer næsten altid med mange eksempler, der hjælper med at forstå den syntaks, der skal bruges.