使用命令行自动运行INSERT语句

时间:2014-08-19 11:50:37

标签: mysql sql batch-file command-line

我有一个声明,我从MySQL Workbench运行,它的工作方式与我想要的一样。

INSERT INTO queuelist(songID)
select ID from songlist where filename LIKE CONCAT('%', substring(curdate(), 6,5) ,'%') order by filename

我现在想要使用Windows Scheduler和批处理文件自动执行该过程。我对这个过程还很陌生,对命令行的工作原理不是很熟悉。我开始是这样的:

mysql -u username -pMyPassword -D MyDatabase < code.sql

其中code.sql包含我在上面发布的查询 - 当我运行它时,我得到的结果与在Workbench中运行时的结果完全不同。我需要以不同的方式对其进行格式化吗?

由于 卡盘

1 个答案:

答案 0 :(得分:0)

为什么不将那个插入语句放入MySQL event?然后数据库引擎会自动为你运行它。

delimiter //
CREATE EVENT IF NOT EXISTS your_event
ON SCHEDULE EVERY 1 DAY 
STARTS  '2014-08-19 12:00:00'
ON COMPLETION PRESERVE ENABLE
DO
    INSERT INTO queuelist(songID)
    select ID 
    from songlist
    where filename LIKE CONCAT('%', substring(curdate(), 6,5) ,'%') 
    order by filename
//

您需要调整应在上面的代码中运行的时间