我正在开发一个加载 .csv
将存储在s3存储桶中的文件存储到rds数据库中。这个 LOAD
命令在不使用 CONCAT
. 我正在使用 CONCAT
在语句中包含变量。我认为问题出在一个或多个条款上。为了排除故障,我显著缩短了字段。我试过几种不同的方法,但似乎找不到正确的语法。
set @s3intotemp = CONCAT('
LOAD DATA FROM S3 PREFIX "`',@workingdir, '`"
INTO TABLE `',@rndtable, '`
FIELDS TERMINATED BY ","
ESCAPED BY ""
ENCLOSED BY "\""
LINES TERMINATED BY "\n"
(@col1,
@col2)
SET customer=@col1,
firstname=@col2;
');
PREPARE stmt from @s3intotemp;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
我得到以下错误:
sql错误:您的sql语法有错误;请查看与您的mysql服务器版本对应的手册,以获取使用(@col1,@col2)set的正确语法customer=@col1, firstname=@col2'第6行
1条答案
按热度按时间myzjeezk1#
您需要对字符串中的反斜杠进行转义,以便将其转换为串联的结果。