mysql - 第 1 行错误 : Unknown command '\'

标签 mysql command-line

当我运行 SQL 脚本以使用命令行从 MySQL 数据库中导出数据时,出现上述错误。 SQL 查询在 phpMyAdmin 中运行时运行良好,但仅当从命令行运行时会引发错误。

这是我使用的命令行:

cat my_export | mysql -uxyzuser -pabcpassword mydb > export072911.txt

my_export中的代码如下:

SELECT CONCAT( custfirstname, ' ', custlastname ) AS fullname, custcompany, \
SPACE( 10 ) AS custtitle, custaddressone, custaddresstwo, custcity, custstate, \
custzip, SPACE( 10 ) AS dummy, custphone, SPACE( 10 ) AS custfax, custemail, \
event_id, SPACE( 10 ) AS ticket1, SPACE( 10 ) AS ticket2, \
SPACE( 10 ) AS ticket3, SPACE( 10 ) AS ticket4, orderdate, b.quantity, \
FROM order_master a \
LEFT JOIN order_detail b ON b.order_master_id = a.id \
LEFT JOIN customer c ON c.email = a.custemail \
WHERE a.orderdate > '2010-12-01'\
AND a.event_id = '30' \
AND a.orderstatus = 'O' \
AND b.litype = 'ITEM' \
AND b.reftag = 'PKG' \
ORDER BY a.orderdate DESC;

最佳答案

您可以安全地删除所有反斜杠并使用输入重定向而不是管道。如果您将 SQL 作为 shell 变量使用,则需要反斜杠,而不是用于管道或重定向。

mysql -uxyzuser -pabcpassword mydb < my_export > export072911.txt

更新 经过我自己的快速测试,只要删除反斜杠,管道看起来就像输入重定向一样工作。

关于mysql - 第 1 行错误 : Unknown command '\' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878818/

相关文章:

ruby - 如何在 'vagrant up' 上传递参数并将其置于 Vagrantfile 的范围内?

php mysql 选择列并与不同表中的3个值进行比较

java - 如何在 java 上使用 mysqldump?

MYSQL 声明变量

c - 在终端中打印错误消息

linux - 在 bash 脚本中设置变量

mysql - 根据条件语句MYSQL昨天的价格在另一列中创建值

PHP Foreach 用于从数据库发送电子邮件?

linux - 如何压缩文件夹或目录及其所有文件(除了删除某些文件夹中的文件)?

mysql - Oracle sqlplus 位于哪里?