尝试使用以下命令导入文本文件
LOAD DATA LOCAL INFILE '/var/www/colleges.txt'
INTO TABLE selections LINES TERMINATED BY '\n'
SET unit=null, created=NOW(), type="college";
表格结构
id INT Autoincremented
name Varchar
type Varchar
unit Varchar
crated datetime
但上面的命令是为name
字段添加空白值。
这是我的示例文本文件:
American River College
American University
Amherst College
答案 0 :(得分:1)
您必须在()
子句之前的SET
中包含的文本文件中指定直接映射的列的列表:
LOAD DATA LOCAL INFILE '/var/www/colleges.txt'
INTO TABLE selections
LINES TERMINATED BY '\n'
-- Here, list columns from the file in ()
(name)
-- Followed by columns for which you set values
SET
unit=null,
created=NOW(),
type="college";
根据您的输入数据,我们会对我的开发数据库进行测试和处理。
MariaDB [test]> select * from selections;
+----+------------------------+---------+------+---------------------+
| id | name | type | unit | created |
+----+------------------------+---------+------+---------------------+
| 1 | American River College | college | NULL | 2015-02-16 08:08:01 |
| 2 | American University | college | NULL | 2015-02-16 08:08:01 |
| 3 | Amherst College | college | NULL | 2015-02-16 08:08:01 |
+----+------------------------+---------+------+---------------------+
文档中有点含糊不清:
...snip...
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
-- HERE....
[(col_name_or_user_var,...)]
[SET col_name = expr,...]