Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Automatisieren von Sicherungen mit dem Ereignisplaner

Zwischen BEGIN müssen mehrere Anweisungen stehen und END . Außerdem müssen Sie das Trennzeichen ändern, sonst denkt MySQL, dass die Anweisung zur Ereigniserstellung mit dem ersten ; abgeschlossen ist . Und schließlich ist es DEALLOCATE PREPARE ... , nicht 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 ;