MySQL Error number: MY-013978; Symbol: ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_ENDING_ENCLOSED_BY_LOG; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释 Error number: MY-013978; Symbol: ER_BULK_PARSER_UNEXPEC…

文档解释

Error number: MY-013978; Symbol: ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_ENDING_ENCLOSED_BY_LOG; SQLSTATE: HY000

Message: Unexpected characters after ending ENCLOSED BY character found at row %ld in file ‘%s’.

错误说明

该错误代码 MY-013978 为MySQL在查询时所可能出现的错误。ER_BULK_PARSER_UNEXPECTED_CHAR_AFTER_ENDING_ENCLOSED_BY_LOG 标志着在查询时在被括号括起来的ENDING后出现了一个意外的字符。更确切的报错信息应为Bulk load data conversion error (truncation) in row n: Unexpected character after ending enclosed BY。

常见案例

该错误的出现通常源于一个不当的BULK插入查询语句中段末缺少分隔符,例如BULK插入语句如下:

LOAD DATA INFILE ‘data.csv’

INTO TABLE TableName

FIELDS TERMINATED BY ‘,’

ENCLOSED BY ‘”‘

LINES TERMINATED BY ‘\n’

该语句中FIELDS TERMINATED BY指定了字段的分隔符为逗号,而ENCLOSED BY则是指每个字段都要用双引号来括起来,这种查询语句要求每行的各个数据字段之间的分隔符、字段内的元素分隔符以及数据末尾的结束符都要严格符合要求才不会出现意外字符的错误。

解决方法

当查询时出现该错误时,可以尝试在BULK插入语句中加入IGNORE n LINES关键字来跳过末尾缺失分隔符可能引发的错误,例如:

LOAD DATA INFILE ‘data.csv’

INTO TABLE TableName

FIELDS TERMINATED BY ‘,’

ENCLOSED BY ‘”‘

LINES TERMINATED BY ‘\n’

IGNORE 1 LINES

以上语句将在查询时跳过一行,从而使得查询在缺失分隔符引发的错误可以被跳过,有效解决MY-013978的问题。此外,也可以尝试将当前的插入语句修改,使得在BULK插入查询中完整地指定所有的分隔符,通过调整和补充语句中各分隔符的位置,也可以有效地解决MY-013978错误发生。

香港美国云服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

为您推荐

港服(Server.HK)MongoDB教程:MongoDB 索引

MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件...

港服(Server.HK)PostgreSQL教程PostgreSQL 别名

PostgreSQL 别名 我们可以用 SQL 重命名一张表或者一个字段的名称,这个名称就叫着该表或该字段的别名。 创建...

港服(Server.HK)Memcached教程:Memcached stats 命令

Memcached stats 命令 Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号...

港服(Server.HK)Redis教程:Redis 数据类型

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集...

港服(Server.HK)Redis教程:Redis GEO

Redis GEO Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 ...
返回顶部