Perl ODBC无法通过INSERT INTO将所有行插入表中

时间:2018-07-12 20:32:11

标签: mysql linux perl odbc

我们遇到了在Linux环境中运行Perl ODBC连接到MYSQL实例的奇怪行为。

我们在MYSQL中有数据表(数百万行),我们需要从字段中汇总一些数据元素。由于表的结构,将整个表转储到文本文件(SELECT * FROM

INTO OUTFILE)要比在mysql中运行查询快得多。

我们在Perl脚本中聚合所需的三个字段,将它们保存到制表符分隔的文本文件中,然后通过ODBC的INSERT INTO查询将它们推入MYSQL到单独的表中。

my $loadtable="LOAD DATA INFILE '/home/path_to_file/".$state."_parsed.txt' INTO TABLE ".$state."_tablename
FIELDS TERMINATED BY '\t' 
IGNORE 1 LINES;";

我们发现ODBC调用未加载所有行。我们找不到模式。我们检查了数据:制表符分隔的格式正确,新行正确,并且没有超出范围的内容。

但是,如果我们尝试通过SQLYOG(直接查询,无ODBC)将.txt文件加载到MYSQL中,则会插入所有行。

我们有检查文件中的ASCII高低字符,却没有找到。

0 个答案:

没有答案