第一行错误:未知命令'\ '。

3
当我使用命令行运行SQL脚本从MySQL数据库中导出数据时,出现了上述错误。 当在phpMyAdmin中运行SQL查询时,一切正常,但是在命令行中运行就会出错。
这里是我使用的命令行:
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;
1个回答

3

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

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

更新 经过我的简单测试,看起来只要移除反斜杠,管道与输入重定向一样有效。


想一想如何在命令行上执行此操作(例如在mysql工具内)。您可以输入/按回车键/输入/按回车键等,直到插入命令终止符“;”之前,命令行只会接收数据。重定向也是如此 :) - KevinDTimm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接