注:実際には2つの質問...
バイナリを使用して mysql データベースをダンプすると、mysqldump
(他の行の中で) これを含むファイルを取得します:
CREATE DATABASE /*!32312 IF NOT EXISTS*/
MyDatabase/*!40100 DEFAULT CHARACTER SET utf8 */;
Google と MySql のリファレンスを検索しましたが、/*!32312 の意味とその仕組みがわかりません。条件付きコメントだとしか思えません。たとえば、ビルド > 32312 の場合、「IF NOT EXIST」を実行しますか?
誰でもこれに光を当てることができますか?
これを知りたい理由は、ダンプの内容を C# クライアントで 1 つのクエリとして使用して復元を実行できなかったからです。このコードの使用:
MySqlConnection msc = default(MySqlConnection);
MySqlCommand cmd = default(MySqlCommand);
MySqlTransaction mst = default(MySqlTransaction);
try
{
//Create a connection to the database
msc = new MySqlConnection(ConnectionString);
msc.Open();
//Creata a MySql Transaction
mst = msc.BeginTransaction();
cmd = msc.CreateCommand();
cmd.Transaction = mst;
cmd.CommandText = ContentsOfMySqlDumpSql;
cmd.ExecuteNonQuery();
mst.Commit();
}
ダンプを復元するには、コマンドライン引数を使用して mysql をプロセスとして起動する必要がありますか? mysqlバイナリの出力や終了コードなどを制御するよりも便利なので、C#クライアントでSQLクエリとして使用してダンプの復元を実現したいので...