2016-11-24 5 views
0

ここで間違っていることを教えてもらえますか?私のsqldumpコマンドは正しく動作していませんか?エラーコードを示すmyqsldump

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

値の周りに二重引用符は、MySQLに送信されるようにするには、全体--whereオプション引用符で囲む必要があります。

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

ありがとうございました!魅力のように働く。私はいつもmysqlの中で "二重引用符を入れ、引用符を入れる"のは混乱してしまいますが、これは私が別のスレッドからアイデアを得たときに " 〜の後ろに。そのすべては混乱しています.... – learner

+0

シェルは引用符も処理することを覚えておく必要があります。したがって、MySQLに引用符を表示させたい場合は、引用符で囲んで引用符で囲むか、引用符で囲む必要があります。 – Barmar

+0

あなたのMySQL引用に関する混乱については、http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticksを参照してください。 – Barmar