2011-07-29 21 views
3

私はMySqlコマンドツールを使用して、私が書いたRubyスクリプトの中からデータベースを照会しています。しかし、一時テーブルを作成するクエリが必要になり、別のクエリで一時テーブルの結合を実行する必要があります。唯一の問題は、私がmysql -h <host> -r <username> -D <database> -e "QUERY"を呼び出すたびに新しいトランザクションが発生するため、私が結合を実行しようとしているときに一時テーブルがもう存在しないことです。MySqlコマンドライン:一度に2つのクエリを実行しますか?

mysqlコマンドラインツールの呼び出しで別々の2つのクエリを実行する必要はありますか?

ような何か: mysql -h <host> -r <username> -D <database> -e "QUERY1" -e "QUERY2"

それとも私のクエリを保存するためのいくつかの代替方法はありますか?テキストファイルなどのように?

ありがとうございました

+3

セミコロンで区切ってみましたか? – Jacob

+1

あなたはスクリプトファイルを実行することができました - シェル> mysql Devart

+0

助けてくれてありがとう。 –

答えて

10

";"トリックをする?

mysql -h <host> -r <username> -D <database> -e "QUERY1;QUERY2"

+0

これはうまくいった!ありがとう。私はコマンドラインツールのドキュメントを読み、 ';'セパレータとしてマークされています。 –

+0

それは幸運な推測でした;)。また、テンポラリテーブルを複数回照会しようとしていて、パフォーマンスが気になる場合は、mysqlへの接続を作成する方が良いかもしれません。次に、テーブルを1回だけ作成し、すべてのクエリを1つのセッションで実行することができます。 – Binus

+0

私はちょうど単一の小さなクエリのためにそれを必要とし、それは私のデータベースではないので、私は一時テーブルを作成しなければならなかった:(あなたの提案をありがとう。 –

関連する問題