2017-11-13 5 views
0

から準備をしようとすると、コードは次のとおりです。MySQLの取得エラー1064は、私は別のフォルダにLASTDAYテーブルと輸出を見つけようとして

select @lastday := date_sub(curdate(),interval 1 day); 
    SET @datanewname = '_m2_raw_Data'; 
    SELECT @datalasttablename:=concat(@lastday,@datanewname); 
    set @path = ' into outfile ''C:\\Db\\test.csv''' ; 
    set @field = ' FIELDS TERMINATED BY '',''' ; 
    set @enclosed = ' OPTIONALLY ENCLOSED BY ''"''' ; 
    set @lines = ' LINES TERMINATED BY ''\\n'''; 
    set @select = ' select * from'; 
    select @query:=concat(@select,@datalasttablename,@path,@field,@enclosed,@lines); 
    select @query; 
    prepare a from @query; 

選択@queryの結果は次のとおりです。

select * from2017-11-12_m2_raw_Data into outfile 'C:\Db\test.csv' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED 
BY '\n' 

エラーが発生しました

エラーコード:1064。SQL構文にエラーがあります。ライン1 0.000秒で

答えて

0

を近く「@query」を使用する権利 構文については、ご使用のMariaDBサーバのバージョンに対応 マニュアルをご確認ください。この文は無効

prepare a @query; 

である。これは、MySQLが期待するものです

:私が見ることができるものから判断すると

PREPARE stmt_name FROM preparable_stmt 

、あなたはこのような何かを望むかもしれません

PREPARE a FROM @query; 

Read more about preparing statements here.

+0

私は逃したから申し訳ありませんが、私はそれはまだ私に同じエラーを与えるワークベンチで入力 – panda001

関連する問題