为什么使用loaddatalocalinfile从ruby插入mysql时插入的行数较少

ijnw1ujt  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(398)

我正在尝试使用loaddatalocalinfile命令将文本文件中的数据插入mysql。
当我在mysql窗口中点击这个命令时,我得到了插入的记录总数。

LOAD DATA LOCAL INFILE 'filepath' INTO TABLE tablename FIELDS TERMINATED BY '\t';

但是,当我使用ruby传递相同的命令时,我看到插入的数据更少。

connect.query("LOAD DATA LOCAL INFILE 'filepath' INTO TABLE tablename FIELDS TERMINATED BY '\\t';")

我已经通过打印上面的查询进行了验证,它是相同的。
我使用的是mysql workbench 6.3版本6.3.10内部版本12092614

baubqpgj

baubqpgj1#

如果“filepath”是变量,则不会展开。试试这个:

connect.query("LOAD DATA LOCAL INFILE '#{filepath}' INTO TABLE tablename FIELDS TERMINATED BY '\\t';")

如果“filepath”是文件路径文本,请尝试使用根目录中的绝对路径。也就是说,如果mysql在本地运行。
如果这个查询被提交到一个远程mysql服务器,那么就不可能打开一个本地文件,您可能需要完全重新考虑导入策略。

相关问题