gpt4 book ai didi

mysql - LOAD DATA LOCAL INFILE 插入空白记录

转载 作者:行者123 更新时间:2023-11-29 00:03:36 25 4
gpt4 key购买 nike

尝试使用以下命令导入文本文件

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

( http://india-webdev.com/demo/colleges.txt )

最佳答案

您必须在 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,...]

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

关于mysql - LOAD DATA LOCAL INFILE 插入空白记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com