我已经建立了一个CMS网站,可以回复第三方的mysql记录。我打算通过CSV下载第三方记录。然后我想通过我的命令行使用Cron作业来更新我的mysql记录
我知道如何通过CSV手动上传到mysql,即:
LOAD DATA INFILE 'c:/tmp/discounts_2.csv'INTO TABLE discountsFIELDS TERMINATED BY ',' ENCLOSED BY '"'LINES TERMINATED BY '\n'IGNORE 1 ROWS(title,@expired_date,amount)SET expired_date = STR_TO_DATE(@expired_date, '%m/%d/%Y');
但是,我不知道如何创建一个自动链接到命令行然后执行此功能的cron作业。
我想我想要的是指示我如何做到这一点。
UPDATE @fancyPants问了一个问题“我想让cronJob做什么?” 答案是这样的。我希望cronJob作业访问CSV文件(我以前下载过) 然后将所有这些值从CSV文件上传到mysql数据库
我知道将CSV转换为mysql的命令;
然而,我仍然坚持如何在命令行中执行cron作业,然后在cron到达命令行后如何执行上述命令LOAD DATA INFILE'c:/tmp/discounts_2.csv'INTO TABLE discountsFIELDS 终止'''''''''''''''''''''1 1 1 1 1 1 1 1 1 1 ROWS(title,@ expired_date,amount)SET expired_date = STR_TO_DATE(@expired_date,'%m /%d /%Y');
答案 0 :(得分:0)
创建一个MySQL事件而不是一个cronjob。
使用
启用事件调度程序SET GLOBAL event_scheduler = ON;
并创建一个这样的事件:
DELIMITER $
CREATE EVENT
ON SCHEDULE EVERY 1 DAY
STARTS '2015-10-11 00:00:00'
DO
BEGIN
TRUNCATE TABLE discounts;
LOAD DATA INFILE 'c:/tmp/discounts_2.csv'INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"'LINES TERMINATED BY '\n'IGNORE 1 ROWS(title,@expired_date,amount)SET expired_date = STR_TO_DATE(@expired_date, '%m/%d/%Y');
END $
DELIMITER ;
就是这样。