我可以在存储过程中使用mysqlimport / LOAD DATA LOCAL INFILE

时间:2013-05-01 05:26:41

标签: mysql stored-procedures

我正在使用mysqlimport将文本文件中的行轻松地添加到表中:

mysqlimport -u root -p --local mytest employee.txt

我可以从存储过程执行此操作吗?到目前为止所有尝试都失败了我担心这可能只能通过命令行使用?目标是让作业调用SP,此SP从文本文件(制表符分隔)中提取行,然后SP将每行与现有表进行比较,如果发现它将更新,否则插入。

感谢你

2 个答案:

答案 0 :(得分:1)

存储过程在服务器上执行,无法访问远程文件系统。

与此类似的是LOAD DATA INFILE

LOAD DATA INFILE 'employee.txt' INTO TABLE mytest

这需要employee.txt驻留在您的服务器上。 --local选项要求mysqlimport客户端桥接该数据。

答案 1 :(得分:0)

加载数据INFILE不适用于存储过程。你想使用perl脚本或者做这个