Pomiędzy BEGIN
należy umieścić wiele instrukcji i END
. Musisz także zmienić ogranicznik, w przeciwnym razie MySQL uzna, że instrukcja tworzenia zdarzenia została zakończona z pierwszym ;
. I w końcu jest to DEALLOCATE PREPARE ...
, a nie DROP PREPARE...
.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` EVENT `Backup`
ON SCHEDULE EVERY 1 WEEK
STARTS '2013-06-14 18:19:02' ON COMPLETION NOT PRESERVE ENABLE
DO
BEGIN
SET @sql_text = CONCAT("SELECT * FROM BonInterne INTO OUTFILE '/home/aimad/GestionStock/" , DATE_FORMAT( NOW(), '%Y%m%d') , "BonInterne.csv'" );
PREPARE s1 FROM @sql_text;
EXECUTE s1;
DEALLOCATE PREPARE s1;
END $$
DELIMITER ;