mysql [第 1 行被截断;它包含的数据多于输入列] 错误
mysql [Row 1 was truncated; it contained more data than there were input columns] ERROR
我的文本文件是这样的。
https://drive.google.com/open?id=1faW_OkO7_VoEQL_gndFIOrJv2e4Ycuzo
我的 table 在这里。
CREATE TABLE news(
num INT auto_increment primary key,
link VARCHAR(150),
date INT,
title VARCHAR(150) unique,
description TEXT
);
我试试
LOAD DATA INFILE 'test.txt'
INTO TABLE news
CHARACTER SET utf8mb4
FIELDS
TERMINATED BY ', ' OPTIONALLY ENCLOSED BY '"'
LINES
TERMINATED BY '\n' (link, date, title, description);
但它不起作用我的错误是什么?
您的输入文件有四列,如下所示
url,month,title,"description": data
CSV 导入将在每个描述列的开头包含单词 "description":
。
所以从你的命令中删除 OPTIONALLY ENCLOSED BY '"'
,你应该已经准备好了。
顺便说一句,请确保您的 table 定义提到了 utf8mb4
字符集(否则您输入的某些字符可能无法正确表示)。为获得最佳效果,请勿依赖服务器默认值来选择字符集。
CREATE TABLE news(
num INT auto_increment primary key,
link VARCHAR(150),
date INT,
title VARCHAR(150) unique,
description TEXT
)
COLLATE 'utfmb4_general_ci';
此错误是由于 '
可选地包含。我以前遇到过同样的问题,通过简单的调整就解决了。
只需在 'Fields' 关键字后立即使用 Enclosed by 子句即可。
因此你的代码应该是这样的:
LOAD DATA INFILE 'test.txt'
INTO TABLE news
CHARACTER SET utf8mb4
FIELDS OPTIONALLY ENCLOSED BY '"'
TERMINATED BY ', '
LINES
TERMINATED BY '\n' (link, date, title, description);
我的文本文件是这样的。 https://drive.google.com/open?id=1faW_OkO7_VoEQL_gndFIOrJv2e4Ycuzo
我的 table 在这里。
CREATE TABLE news(
num INT auto_increment primary key,
link VARCHAR(150),
date INT,
title VARCHAR(150) unique,
description TEXT
);
我试试
LOAD DATA INFILE 'test.txt'
INTO TABLE news
CHARACTER SET utf8mb4
FIELDS
TERMINATED BY ', ' OPTIONALLY ENCLOSED BY '"'
LINES
TERMINATED BY '\n' (link, date, title, description);
但它不起作用我的错误是什么?
您的输入文件有四列,如下所示
url,month,title,"description": data
CSV 导入将在每个描述列的开头包含单词 "description":
。
所以从你的命令中删除 OPTIONALLY ENCLOSED BY '"'
,你应该已经准备好了。
顺便说一句,请确保您的 table 定义提到了 utf8mb4
字符集(否则您输入的某些字符可能无法正确表示)。为获得最佳效果,请勿依赖服务器默认值来选择字符集。
CREATE TABLE news(
num INT auto_increment primary key,
link VARCHAR(150),
date INT,
title VARCHAR(150) unique,
description TEXT
)
COLLATE 'utfmb4_general_ci';
此错误是由于 '
可选地包含。我以前遇到过同样的问题,通过简单的调整就解决了。
只需在 'Fields' 关键字后立即使用 Enclosed by 子句即可。
因此你的代码应该是这样的:
LOAD DATA INFILE 'test.txt'
INTO TABLE news
CHARACTER SET utf8mb4
FIELDS OPTIONALLY ENCLOSED BY '"'
TERMINATED BY ', '
LINES
TERMINATED BY '\n' (link, date, title, description);