2016-12-07 14 views
0

my Webアプリケーションのバックアップスクリプトを作成するために、powershellでmysqldumpを使用しています。mysqldump - 存在しない場合はテーブルを作成します。

これは、データベース・ダンプ用に使用して、コマンドイムです:

mysqldump --user=$username --password=$password --log-error=$errorLog --result-file=$backupfile --databases $database

これは必要なスクリプトを作成し、「NOTが存在する場合は、」しかし、ビットはコメントアウトして、私はなぜ知らない、またはどのようにされましたこの動作を停止します。

ライン状のsqldump:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ training_web /*!40100 DEFAULT CHARACTER SET utf8 */;

任意の助けを大幅に高く評価されるだろう。

おかげ

答えて

1

そのMySQLはそのバージョンのみで動作します(以降)のヒント。 32312 => 3.23.12

+0

これは、スクリプトを実行するときにmysql 3.23.12以降を使用している限り、私のスクリプトは存在しない場合、それを実行することを意味しますか? – Brad

+0

@Brad DBがコマンドをサポートしていない場合、それはあまりそれをすることができないので、エラーをスローします。 --forceでは、それをスキップすることはできますが、デフォルトのファンではありません--force(何かが間違っているのを知りたいからです!)。 – Roger

1

これはダンプには全くない通常の動作ですIF NOT EXISTS ...表示されていることは、コマンドがバージョン3.23.12以降でのみ動作することを伝えるMySQLの指示です。

IF NOT EXISTSのようにダンプをインポートする場合は、--forceスイッチを使用してください。

+0

これは、スクリプトを実行するときにmysql 3.23.12以降を使用している限り、それがそのままでは、私のスクリプトが存在しない場合は実行することを意味しますか? – Brad

+0

@Rogierが言及したように、バージョンが> =の場合、これらのコメントが実行されたようです。再度、感謝します。 – Brad

関連する問題