我正在尝试将* .txt文件的内容加载到MySQL数据库table.i.e的末尾。我想将文件的内容追加到MySQL中的现有表中。我在MySQL Workbench(Windows 7)中工作。我从http://dev.mysql.com/downloads/windows/installer/下载了Windows 5.6.21安装程序:
以下是我正在使用的MySQL代码:
CREATE SCHEMA fileimport2;
USE fileimport2;
CREATE TABLE testtable(column1 INT, column2 VARCHAR(255), column3 DECIMAL(8,4));
LOAD DATA INFILE 'File.txt'
INTO TABLE foo COLUMNS TERMINATED BY '\t';
此时,数据库有一个包含3行3列的表。注意:我尝试过:
SET GLOBAL local_infile = 'ON';
但我仍然无法获得
LOAD DATA LOCAL INFILE 'File2.txt'
上班。出于这个原因,我改为使用:
LOAD DATA INFILE 'File2.txt'
ALTER TABLE testtable
ADD column4 VARCHAR(255)
AFTER column3;
此时,创建了第4列。
现在,我想尝试将名为'File2.txt'的文件加载到第4列的第1,2,3行:
LOAD DATA INFILE 'File2.txt'
INTO TABLE testtable
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
(@col1,@col2,@col3,@col4) set column4=@col4;
SELECT * FROM testtable
问题: 当我这样做时,文件'File2.txt'的内容被添加到第4列的第4,5,6行。第4列的第1,2,3行是NULL。列1,2,3的第4,5,6行为NULL。这不是我想要的。我不想要空条目。我的决赛桌应该是3行X 4列。
图片显示问题:
File.txt(列由制表符分隔):
1 First line of text 7.24
2 Second line goes here 5.7
3 Sample text on line 3 11.6
FILE2.TXT:
before today
one tow
ssf three
问题: 有没有办法将文件(如水平串联)加载到第4列的行1,2,3?