因为我使用的是工作台,并且想要加载文本文件数据。我想在列中添加文件名。
让我给你举个例子。
我的文本文件: 20170205077.txt
“20170205077.txt”中数据:
1|Something|Something_2, 1|Something|Something_3另外,查询是
LOAD DATA LOCAL INFILE "20170205077.txt" INTO "DB.TABLE"
FIELDS TERMINATED BY '|' Lines terminated by ', '在执行时,我希望表是这样的:
| FileName |userId| data | data |
|20170205077| 1 |Something|Something_2|
|20170205077| 1 |Something|Something_3|如何增强查询?
发布于 2017-02-13 11:17:57
创建bat文件:(例如upload.bat)将其和所有文本文件放在C:\import中(文件夹和文件的名称不能有空格)。然后运行要导入的bat文件
@echo off
setlocal enabledelayedexpansion
FOR %%f IN ("*.txt") DO (
set old=%%~dpnxf
set new=!old:\=\\!
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -e "load data local infile '"!new!"' IGNORE into table DB.TABLE (userID, data1, data2) FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"""' LINES TERMINATED BY ',' SET Filename = %%nf" -h yourhost -u youruser -pYourpassword YourDB
echo UPLOAD %%~nxf DONE
)
pausehttps://stackoverflow.com/questions/42195657
复制相似问题