我使用以下命令从MySQL数据库中获取报告。它在MySQL控制台中运行良好,但是当我尝试在我的Java代码中使用它作为字符串时,它会开始抛出错误。
mysql -u root -ppass -e "SELECT * from CEM_LEGACY_INV" DBNAME | sed 's/\t/","/g;s/^/"/;s/$/"/' > /home/shahed/Desktop/filename.csv
我想使用一个在其中定义查询的字符串变量,而不是这里提到的查询。
答案 0 :(得分:0)
你需要转义双引号(")和反斜杠(\) - 在java中,你可以使用反斜杠(\)转义这个字符。
您可以尝试以下内容 -
String command = "mysql -u root -ppass -e \"SELECT * from CEM_LEGACY_INV\" DBNAME | sed 's/\\t/\",\"/g;s/^/\"/;s/$/\"/' ";