MySQL load命令:数据文件是否有通配符?

MySQL load命令:数据文件是否有通配符?,mysql,wildcard,load-data-infile,Mysql,Wildcard,Load Data Infile,我每天都将以下文件转储到我们的一个在线目录中: 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

我每天都将以下文件转储到我们的一个在线目录中:

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());

当然没有运气。最好的方法是什么?

假设这是一个计划作业,为什么不检查目录中与文件名模板匹配的最新文件呢。将所述文件的名称存储在一个变量中,然后将该变量细分到查询中。签出

我会通过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  )
@echo偏移填充=%%1
对于/f“eol=代币=*
delims=usebackq“%%i in(%infle%)
do(mysql-u用户名--密码=pwd<%i)

我已经很久没有编写任何windows脚本了,但这应该会让您了解一种方法。

我使用了这种方法,因为它最适合我所尝试的。丹克!