当我尝试在shellscript中执行多行mysql时
mysql -uroot -ppass mydb <<<EOF
SELECT * INTO OUTFILE 'table.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM mytable limit 1;
EOF
得到语法错误.
ERROR 1064 (42000) at line 1: 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 'EOF' at line 1
编写脚本的正确方法是什么?
Álv*_*lez 14
bash heredoc的语法是:
COMMAND <<InputComesFromHERE
...
...
...
InputComesFromHERE
Run Code Online (Sandbox Code Playgroud)
所以你有一个额外的<.
为了测试,你应该能够取代mysql -uroot -ppass mydb SQL以echo并获取准确的SQL代码如预期.
| 归档时间: |
|
| 查看次数: |
16032 次 |
| 最近记录: |