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脚本了,但这应该会让您了解一种方法。我使用了这种方法,因为它最适合我所尝试的。丹克!