0

私の目的は、Windowsサーバーでスケジュールされたジョブを開始することです。このジョブは、Windowsサーバーにもインストールされているローカルのmysqlサーバー上のデータセットを削除します。

ただし、データを削除するだけでなく、ログファイルを作成したいと思います。

このコマンドで:

mysql -v -h localhost -u user --password=password -P 3307 --database=smydatabase -B --silent --skip-named-commands < query.sql > logging.txt

次のSQLファイル"query.sql

select count(*) from table;

次のログファイルを取得します。

--------------
select count(*) from table
--------------

4420101

=======================

私の最初の質問は次のとおりです。クエリと上下の両方の行を抑制できますか。

最終的なsql-fileには、20行のsql-commandが含まれます。私の好みの目標は、次のようなフォーマットされたログファイルを作成することです。

Job started at <date>
Deleting <4420101> datasets in table <table>
4420101 rows affected
Deleting <22013> datasets in table <persons>
etc.

したがって、select-statementsとvariablesを使用してログファイルの行を作成する必要があります。delete-statementsのような他の行はログファイルに表示されるべきではありません。これは可能ですか?

4

1 に答える 1

0

--skip-column-names を含めます。

mysql -v -h localhost -u user --password=password -P 3307 --database=smydatabase -B --silent --skip-named-commands --skip-column-names < query.sql > logging.txt

これが役立つことを願っています。

于 2013-07-02T05:45:19.803 に答える