14

我一直在玩 mysqlimport 并且遇到了文件名必须与表名相同的限制。有没有办法解决这个问题?

我无法重命名该文件,因为它被其他进程使用,我不想复制该文件,因为其中会有很多,有些非常大。

我想使用 mysqlimport 而不是 LOAD INFILE。

编辑:不幸的是,这需要在 Windows 上运行,所以恐怕没有符号链接的技巧。

4

4 回答 4

13

你没有说你在哪个平台上。在 unix 上,您可以创建指向文件的符号链接:

ln -s filename.txt tablename.txt

然后在 mysqlimport 命令中使用它。

但是 mysqlimport 只是 LOAD INFILE 的命令行界面,因此您也可以在命令行上执行此操作:

mysql -e "load data infile 'filename' into table TBL_NAME" dbname
于 2010-03-24T14:50:57.243 回答
0

alias假设您在 Linux 系统上,您是否尝试过使用该命令?

于 2010-03-24T14:45:12.247 回答
0

只需创建一个符号链接:

ln -s /tmp/real_file.txt /tmp/your_table_name.txt
于 2010-03-24T14:49:10.217 回答
0

mysqlimport 使用文件名来确定应该加载数据的表的名称。该程序通过剥离任何文件扩展名(最后一个句点及其后的任何内容)来做到这一点;然后将结果用作表名。例如,mysqlimport 将名为 City.txt 或 City.dat 的文件视为要加载到名为 City 的表中的输入。

于 2015-08-07T03:45:30.607 回答