我正在尝试使用MySQL的LOAD DATA LOCAL INFILE语句,我收到的错误是“此MySQL版本不允许使用该命令”。
数据文件是运行MySql的服务器的本地数据。 我可以从MySql Workbench运行相同的命令(安装在同一台机器上)并且工作正常。这表明服务器设置为接受命令,问题可能在于我的问题PHP PDO客户端(同样,在同一台机器上)。
以下是我创建PDO的代码:
function getDb() {
$dsn = 'mysql:host=localhost;dbname=my_db';
$username = 'username';
$password = 'password';
$options = [PDO::MYSQL_ATTR_LOCAL_INFILE => true];
return new PDO($dsn, $username, $password, $options);
}
如您所见,我在创建对象时设置了PDO::MYSQL_ATTR_LOCAL_INFILE
。
这是sql命令:
LOAD DATA LOCAL INFILE '/media/working/my_file.psv'
INTO TABLE MY_TABLE
FIELDS TERMINATED BY '|'
IGNORE 1 LINES
有什么想法吗?
答案 0 :(得分:0)
我可以从MySql Workbench运行相同的命令(安装在 同一台机器),它工作正常。