MySQL:将多个文件加载到表中

时间:2011-07-01 18:47:25

标签: mysql sql load-data-infile

我一直在尝试将多个文件加载到表中,以便它们适合同一行。

我可以单独插入它们,但问题在于NULL值,我打算加入此表。如果发生这种情况,我会得到太多NULL个值 - 无用的数据。

LOAD DATA LOCAL INFILE 'malefirst.txt, femalefirst.txt, allfirst.txt, allfirst.txt' 
INTO TABLE fnames 
 (mal, fml, unk, cpx);

我实际看到的另一件事是将文件与

一起加入
paste -d " " (1.txt 2.txt ....)
然而,它变成了一团糟。如果第一种方法不起作用,那么我可以使用第二种方法,但我也需要建议。

2 个答案:

答案 0 :(得分:1)

您可以将4个文件加载到4个(临时)表中(每个表都有一个自动编号字段),然后将这些文件加入(使用ID)IN到您的TABLE中。

答案 1 :(得分:0)

当我必须做这样的事情时,我通常使用AWK。

如果我拥有它,我将如何解决您的问题:

cat file1 file2 filegroup* | awk '{print "insert into TABLE set FIELD1=\""$1"\";"}' | mysql -u USER -p DATABASE