我每天将以下文件转储到我们的一个在线目录中:
dat-part2-489359-43535-toward.txt
数字随机变化。
我有以下代码来尝试和加载文件:
mysql_query("LOAD DATA LOCAL INFILE 'dat-part2-%-toward.txt'
REPLACE INTO TABLE my_table
FIELDS TERMINATED BY ',' ENCLOSED BY ''
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES") or die(mysql_error());
当然没有运气。最好的方法是什么?
答案 0 :(得分:1)
假设这是一个预定作业,为什么不检查目录中是否有与您的文件名模板匹配的最新文件。将所述文件的名称存储在变量中,然后将该变量存入查询中。查看glob()
答案 1 :(得分:0)
我会通过shell脚本或windows cmd文件来实现。这假设您使用mysqldump或某些创建有效sql脚本的程序创建了该文件。
您可以在Windows中运行dir / B以获取文件目录。那么dir / B> input.txt然后使用Windows脚本来读取输入文件,对于每一行,使用mysql客户端管理文件。
@ echo off set infile= %%1
for /f "eol= tokens=*
delims= usebackq" %%i in (%infile%)
do ( mysql -u userName --password=pwd < %%i )
自从我编写任何Windows脚本以来已经很长时间了,但这应该可以让您了解一种方法。