Трябва да се поставят няколко оператора между BEGIN
и END
. Също така трябва да промените разделителя, в противен случай MySQL смята, че изразът за създаване на събитие е завършен с първия ;
. И накрая, това е DEALLOCATE PREPARE ...
, а не 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 ;