Nhiều câu lệnh phải được đặt giữa BEGIN
và END
. Ngoài ra, bạn phải thay đổi dấu phân cách, nếu không MySQL nghĩ rằng câu lệnh tạo sự kiện đã kết thúc bằng ;
đầu tiên . Và cuối cùng, đó là DEALLOCATE PREPARE ...
, không phải 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 ;