前提
VScodeとMySQLを使って,テーブルデータの編集をしています.
実現したいこと
ユーザが設定した変数を使って,出力ファイル名を指定したいです.
発生している問題・エラーメッセージ
今回変数を使って,csvファイルの出力先を指定した結果,以下のようなエラーメッセージが表示されました.どのようにすれば実行させることができるでしょうか.
Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@f_out fields terminated by ',' enclosed by '"' escaped by '"' lines termina' at line 2
該当のソースコード
SQL
1set @TableName = 'single_man.csv'; 2set @dir = 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/'; 3set @f_out = concat(@dir , @TableName); 4 5use city_sample; 6select * from count_role_types 7into outfile @f_out 8fields terminated by ',' 9enclosed by '"' 10escaped by '"' 11lines terminated by '\r\n' 12;
試したこと
into outfile @f_outの「@f_out」の部分に直接文字列を打ち込んだ場合は,正常に動作し,csvファイルが出力されました.
>直接文字列を打ち込んだ場合
そのコードも提示してください。
use city_sample;
select * from count_role_types
into outfile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/single_man.csv'
fields terminated by ','
enclosed by '"'
escaped by '"'
lines terminated by '\r\n'
;
です.ご指摘ありがとうございます.
質問は編集できますので。
ただ、ドキュメント探して見つからなかったのですが、
そこに変数が使えないという可能性はあるように思います。
https://docs.oracle.com/cd/E17952_01/mysql-8.0-ja/select-into.html
ありがとうございます.
ここに変数は使えないということなら納得できます.
回答1件
あなたの回答
tips
プレビュー