我正在 Ubuntu 机器上使用 MySQL v5.1 开发 Rails v2.3.2。
MySQL 数据目录是/var/lib/mysql/
我有一个 test.dat
文件位于 /var/lib/mysql/tmp/test.dat
我想将 test.dat
文件中的数据加载到我的数据库表中,因此我在我的一个 rake 任务 中执行了以下 SQL 语句:
namespace :db do
task :do_something => :environment do
sql="LOAD DATA INFILE '/var/lib/mysql/tmp/test.dat'
INTO TABLE myapp.cars;"
ActiveRecord::Base.connection.execute(sql);
end
end
但是我得到了以下错误:
Mysql2::Error: Can't get stat of '/var/lib/mysql/tmp/test.dat' (Errcode: 2): 加载数据 INFILE '/var/lib/mysql/tmp/测试.dat
'
可能是什么原因?
P.S. 我想到的一件事是 /var/lib/mysql/
只能由 root 用户 访问,但我我不确定是不是这个原因。
最佳答案
尝试LOAD DATA LOCAL INFILE ...
。
关于mysql - 运行SQL语句时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8313366/