【发布时间】:2019-12-21 14:55:28
【问题描述】:
我正在尝试编写一个 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的bash脚本:
mysql -h "localhost" -u "root" "-pmypassword" "mydb" -e "set @spaceName=\"$1\";source update.sql;"
然后我执行./main.sh France.list。 France.list 是我尝试导入数据库的数据文件。
但是我得到一个错误:
ERROR 1295 (HY000) at line 2 in file: 'update.sql': 这个命令是 准备好的语句协议尚不支持
我发现了这个问题:
MySQL - Load Data Infile with variable path
那么,这是否意味着无法将参数传递给LOAD DATA 查询?
【问题讨论】:
标签: mysql linux bash import parameter-passing