2016-11-24 49 views
0

你能告訴我我在做什麼錯在這裏?我的sqldump命令不能正常工作嗎?myqsldump thing一個錯誤代碼(1054)

mysqldump -u jim -p mydb mytable --where mycondition="ERROR-5000-JAVA" > /home/jim/issue1.sql 
Enter password: 
mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `mytable` WHERE mycondition=ERROR-5000': Unknown column 'ERROR' in 'where clause' (1054) 

回答

3

你需要引號將整個--where選項,這樣在值雙引號將被髮送到MySQL。

mysqldump -u jim -p mydb mytable --where 'mycondition="ERROR-5000-JAVA"' > /home/jim/issue1.sql 
+0

謝謝隊友!奇蹟般有效。我總是在mysql中混淆了什麼時候放置「雙引號和何時放置」引號任何想法?這一次我使用了「after = sign,因爲我從另一個線程得到了一個想法,但是因爲我不得不使用'之後。它的一切令人困惑...... – learner

+0

你必須記住,殼也處理引號。所以如果你想讓MySQL看到引號,你必須轉義它們或者用更多的引號包裝它們。 – Barmar

+0

關於您的MySQL報價混淆,請參閱http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks – Barmar

相關問題