我正在尝试编写一个 MySQL 脚本,将数据导入到我的 Linux 服务器的表中。以下是名为 update.sql 的脚本:SET @query = CONCAT(\'LOAD DATA LOCAL INFILE '\', @spaceName, \'' INTO TABLE tmp
我正在尝试编写一个 MySQL 脚本,将数据导入到我的 Linux 服务器的表中。以下是名为 的脚本 update.sql
:
SET @query = CONCAT("LOAD DATA LOCAL INFILE '", @spaceName, "' INTO TABLE tmp FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';");
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
另外,我还编写了一个名为 main.sh
:
mysql -h "localhost" -u "root" "-pmypassword" "mydb" -e "set @spaceName=\"$1\";source update.sql;"
然后我执行 ./main.sh France.list
。这 France.list
是我尝试导入数据库的数据文件。
但是我收到一个错误:
文件“update.sql”第 2 行出现错误 1295 (HY000):此命令在准备好的语句协议中尚不受支持
我发现了这个问题:
MySQL - 使用变量路径加载数据文件
那么,这是否意味着没有办法将参数传递给 LOAD DATA
查询?