mysql[第1行被截断;它包含的数据多于输入列]错误
我的文本文件是这样的。 我的桌子在这里mysql[第1行被截断;它包含的数据多于输入列]错误,mysql,csv,import-from-csv,utf8mb4,Mysql,Csv,Import From Csv,Utf8mb4,我的文本文件是这样的。 我的桌子在这里 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 utf8mb
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”:
因此,从您的命令中删除由“”包围的(可选),您应该已经准备好了
顺便说一下,请确保表定义中提到了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”关键字之后立即使用封闭的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);
@Madhur Bhaiya哦…我如何从(链接、日期、标题、描述)开始?num是自动增量字段,所以我不想在我的文本中写入它可能是您需要mediumtext..或者more@scaisEdge这与我在描述中使用“LONGTEXT”类型的结果相同。@sangoh您的MySQL版本是什么?@MadhurBhaiya我的版本是8.0.12谢谢。”描述是我的错。我会移除这个。!!谢谢我是规范化描述字段,没有特殊字符,所以utfmb4不需要我!