[+/-]
ExecuteReader の使用Prepare の使用SQL 文を構成し、MySQL データベースに対して実行します。このクラスを継承することはできません。
        MySqlCommand は MySQL
        データベースでコマンドを実行する次の手段を備えています
        :
      
| アイテム | 概要 | 
| ExecuteReader | 行を返すコマンドを実行。 | 
| ExecuteNonQuery | SQL INSERT 、DELETE 、および UPDATE ステートメントなどのコマンドを実行。 | 
| ExecuteScalar | データベースから単一値 ( 例えば集約値 ) を取り出す。 | 
        CommandText
        プロパティをリセットし、MySqlCommand
        オブジェクトを再使用することができます。しかし、新しい、または以前のコマンドを実行する前に、MySqlDataReader
        を閉じる必要があります。
      
        MySqlException
        が MySqlCommand
        を実行するメソッドで生成される場合、MySqlConnection
        は開いたままになります。この接続を閉じるのはプログラマの采配になります。
      
プロバイダの以前のバージョンでは、SQL のパラメータをマークするのに '@' シンボルが使用されました。これは MySQL ユーザ変数に適合しないため、現在のプロバイダでは '?' シンボルを使用して SQL のパラメータを指定しています。以前のコードをサポートするには、'old syntax=yes' を接続ストリングで設定することができます。そうする場合、SQL で使用する予定のパラメータの定義に失敗しても、例外は投入されませんのでご注意ください。
例
        以下は、MySqlCommand
        と MySqlConnection
        を作成する例です。MySqlConnection
        が開かれ、MySqlCommand の
        Connection
        として設定されます。この例はその後
        ExecuteNonQuery
        を呼び出し、接続を閉じます。これを完遂するため、ExecuteNonQuery
        は SQL INSERT 文である接続ストリングとクエリ
        ストリングに渡されます。
      
Visual Basic 例 :
  Public Sub InsertRow(myConnectionString As String)
  " If the connection string is null, use a default.
  If myConnectionString = "" Then
    myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"
  End If
  Dim myConnection As New MySqlConnection(myConnectionString)
  Dim myInsertQuery As String = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)"
  Dim myCommand As New MySqlCommand(myInsertQuery)
  myCommand.Connection = myConnection
  myConnection.Open()
  myCommand.ExecuteNonQuery()
  myCommand.Connection.Close()
End Sub
    
C# 例 :
  public void InsertRow(string myConnectionString) 
{
  // If the connection string is null, use a default.
  if(myConnectionString == "") 
  {
    myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass";
  }
  MySqlConnection myConnection = new MySqlConnection(myConnectionString);
  string myInsertQuery = "INSERT INTO Orders (id, customerId, amount) Values(1001, 23, 30.66)";
  MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
  myCommand.Connection = myConnection;
  myConnection.Open();
  myCommand.ExecuteNonQuery();
  myCommand.Connection.Close();
}
    
MySqlCommand のオーバーロード メソッド
MySqlCommand クラスの新規インスタンスを初期化します。
例
以下の例は MySqlCommand を作成し、そのプロパティの一部を設定します。
            この例は、MySqlCommand
            のオーバーロードされたコンストラクタのバージョンの使用法のひとつを挙げています。利用可能な他の例に関しては、各オーバーロードのトピックをご覧ください。
          
Visual Basic 例 :
  Public Sub CreateMySqlCommand()
    Dim myConnection As New MySqlConnection _
        ("Persist Security Info=False;database=test;server=myServer")
    myConnection.Open()
    Dim myTrans As MySqlTransaction = myConnection.BeginTransaction()
    Dim mySelectQuery As String = "SELECT * FROM MyTable"
    Dim myCommand As New MySqlCommand(mySelectQuery, myConnection, myTrans)
    myCommand.CommandTimeout = 20
  End Sub
  
C# 例 :
  public void CreateMySqlCommand() 
  {
    MySqlConnection myConnection = new MySqlConnection("Persist Security Info=False;
      database=test;server=myServer");
    myConnection.Open();
    MySqlTransaction myTrans = myConnection.BeginTransaction();
    string mySelectQuery = "SELECT * FROM myTable";
    MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection,myTrans);
    myCommand.CommandTimeout = 20;
  }
  
C++ 例 :
  public:
  void CreateMySqlCommand()
  {
    MySqlConnection* myConnection = new MySqlConnection(S"Persist Security Info=False;
      database=test;server=myServer");
    myConnection->Open();
    MySqlTransaction* myTrans = myConnection->BeginTransaction();
    String* mySelectQuery = S"SELECT * FROM myTable";
    MySqlCommand* myCommand = new MySqlCommand(mySelectQuery, myConnection, myTrans);
    myCommand->CommandTimeout = 20;
  };
  
MySqlCommand クラスの新規インスタンスを初期化します。
          ベース
          コンストラクタは、すべてのフィールドをそのデフォルト値に初期化します。愚痴のテーブルは、MySqlCommand
          のインスタンスの初期プロパティ値です。
        
| プロパティ | 初期値 | 
| CommandText | empty string ("") | 
| CommandTimeout | 0 | 
| CommandType | CommandType.Text | 
| Connection | Null | 
これらのプロパティの値は、プロパティへの別の呼び出しを通して変更することができます。
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
    Dim myCommand As New MySqlCommand()
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
{
   MySqlCommand myCommand = new MySqlCommand();
   myCommand.CommandType = CommandType.Text;
}
          クエリのテキストで MySqlCommand
          クラスの新規インスタンスを初期化します。
        
パラメータ : クエリのテキスト。
          MySqlCommand
          のインスタンスが作成される際、次の赤/白のプロパティが初期値に設定されます。
        
| プロパティ | 初期値 | 
| CommandText | cmdText | 
| CommandTimeout | 0 | 
| CommandType | CommandType.Text | 
| Connection | Null | 
これらのプロパティの値は、プロパティへの別の呼び出しを通して変更することができます。
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
  Dim sql as String = "SELECT * FROM mytable"
    Dim myCommand As New MySqlCommand(sql)
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
{
  string sql = "SELECT * FROM mytable";
  MySqlCommand myCommand = new MySqlCommand(sql);
  myCommand.CommandType = CommandType.Text;
}
          クエリのテキストと MySqlConnection
          で MySqlCommand
          クラスの新規インスタンスを初期化します。
        
パラメータ : クエリのテキスト。
          パラメータ :SQL
          サーバのインターフェイスへの接続を表す
          MySqlConnection。
        
          MySqlCommand
          のインスタンスが作成される際、次の赤/白のプロパティが初期値に設定されます。
        
| プロパティ | 初期値 | 
| CommandText | cmdText | 
| CommandTimeout | 0 | 
| CommandType | CommandType.Text | 
| Connection | connection | 
これらのプロパティの値は、プロパティへの別の呼び出しを通して変更することができます。
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
  Dim conn as new MySqlConnection("server=myServer")
  Dim sql as String = "SELECT * FROM mytable"
    Dim myCommand As New MySqlCommand(sql, conn)
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
{
  MySqlConnection conn = new MySqlConnection("server=myserver")
  string sql = "SELECT * FROM mytable";
  MySqlCommand myCommand = new MySqlCommand(sql, conn);
  myCommand.CommandType = CommandType.Text;
}
          クエリのテキスト、MySqlConnection
          、および MySqlTransaction で
          MySqlCommand
          クラスの新規インスタンスを初期化します。
        
パラメータ : クエリのテキスト。
          パラメータ :SQL
          サーバのインターフェイスへの接続を表す
          MySqlConnection。
        
          パラメータ
          :MySqlCommand が実行する
          MySqlTransaction 。
        
          MySqlCommand
          のインスタンスが作成される際、次の赤/白のプロパティが初期値に設定されます。
        
| プロパティ | 初期値 | 
| CommandText | cmdText | 
| CommandTimeout | 0 | 
| CommandType | CommandType.Text | 
| Connection | connection | 
これらのプロパティの値は、プロパティへの別の呼び出しを通して変更することができます。
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
  Dim conn as new MySqlConnection("server=myServer")
  conn.Open();
  Dim txn as MySqlTransaction = conn.BeginTransaction()
  Dim sql as String = "SELECT * FROM mytable"
    Dim myCommand As New MySqlCommand(sql, conn, txn)
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
{
  MySqlConnection conn = new MySqlConnection("server=myserver")
  conn.Open();
  MySqlTransaction txn = conn.BeginTransaction();
  string sql = "SELECT * FROM mytable";
  MySqlCommand myCommand = new MySqlCommand(sql, conn, txn);
  myCommand.CommandType = CommandType.Text;
}
接続に対して SQL 文を実行し、影響される行の数を返すします。
戻り値 : 影響を受ける行の数
ExecuteNonQuery を使用して、すべてのタイプのデータベース操作を行うことができますが、返された結果セットは利用することができません。ストアド プロシージャの呼び出しに使用された出力パラメータはデータを移植され、実行が完了した後で引き出すことができます。UPDATE 、INSERT 、および DELETE 文では、戻り値はそのコマンドに影響された行の数になります。その他のタイプのステートメントではすべて、戻り値は -1 です。
例
以下の例は MySqlCommand を作成し、ExecuteNonQuery を使用してそれを実行します。この例は SQL 文 ( UPDATE 、INSERT 、または DELETE など ) であるストリングや、データソースへの接続に使用するストリングに渡されます。
Visual Basic 例 :
    Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As MySqlConnection)
      Dim myCommand As New MySqlCommand(myExecuteQuery, myConnection)
      myCommand.Connection.Open()
      myCommand.ExecuteNonQuery()
      myConnection.Close()
    End Sub 
  
C# 例 :
    public void CreateMySqlCommand(string myExecuteQuery, MySqlConnection myConnection) 
    {
      MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection);
      myCommand.Connection.Open();
      myCommand.ExecuteNonQuery();
      myConnection.Close();
    }
  
          CommandText を
          MySqlConnection Connection
          に送り、CommandBehavior
          値のひとつを使用して
          MySqlDataReader を構築します。
        
          パラメータ
          :CommandBehavior
          値のひとつ。
        
          CommandType プロパティが
          StoredProcedure
          に設定される際、CommandText
          プロパティをストアド
          プロシージャ名に設定してください。ExecuteReader
          を呼び出す時に、コマンドがこのストアド
          プロシージャを実行します。
        
          MySqlDataReader
          は、大きなバイナリ値の効率的な読み取りを可能にする特殊なモードをサポートしています。詳細は、CommandBehavior
          の SequentialAccess
          設定を参照してください。
        
          MySqlDataReader
          が使用されている間、関連のある
          MySqlConnection は
          MySqlDataReader
          へ忙しく供給します。その状態では、MySqlConnection
          で閉じる以外の他の操作を行うことはできません。MySqlDataReader
          の MySqlDataReader.Close
          メソッドが呼び出されるまでは、その状態が続きます。MySqlDataReader
          が CloseConnection に設定される
          CommandBehavior
          で作成される場合、MySqlDataReader
          を閉じると、接続が自動的に切断されます。
        
            ExecuteReader を
            SingleRow 挙動で呼び出す時、SQL
            で limit
            句を使用すると、すべての行 (
            提示された限界まで )
            がクライアントに引き出されることになります。MySqlDataReader.Read
            メソッドは、最初の行の後でもまだ false
            を戻しますが、データの全行をクライアントに入れると作業に影響が出ます。limit
            句が必要でない場合は、避けたほうがよいでしょう。
          
          戻り値 :
          MySqlDataReaderオブジェクト。
        
          CommandText を
          MySqlConnection Connection
          に送り、MySqlDataReader
          を構築します。
        
          戻り値 :
          MySqlDataReaderオブジェクト。
        
          CommandType プロパティが
          StoredProcedure
          に設定される際、CommandText
          プロパティをストアド
          プロシージャ名に設定してください。ExecuteReader
          を呼び出す時に、コマンドがこのストアド
          プロシージャを実行します。
        
          MySqlDataReader
          が使用されている間、関連のある
          MySqlConnection は
          MySqlDataReader
          へ忙しく供給します。その状態では、MySqlConnection
          で閉じる以外の他の操作を行うことはできません。MySqlDataReader
          の MySqlDataReader.Close
          メソッドが呼び出されるまでは、その状態が続きます。
        
例
          次の例は MySqlCommand
          を作成し、SQL SELECT
          文であるストリングと、データソースへの接続に使用するストリングを渡すことによってそれを実行します。
        
Visual Basic 例 :
Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As MySqlConnection)
    Dim myCommand As New MySqlCommand(mySelectQuery, myConnection)
    myConnection.Open()
    Dim myReader As MySqlDataReader
    myReader = myCommand.ExecuteReader()
    Try
    While myReader.Read()
        Console.WriteLine(myReader.GetString(0))
    End While
Finally
    myReader.Close
    myConnection.Close
    End Try
End Sub
C# 例 :
public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection) 
 {
    MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection);
    myConnection.Open();
    MySqlDataReader myReader;
    myReader = myCommand.ExecuteReader();
    try
    {
      while(myReader.Read()) 
      {
        Console.WriteLine(myReader.GetString(0));
      }
    }
    finally
    {
      myReader.Close();
      myConnection.Close();
    }
 }  
 
MySQL Server のインスタンスで、コマンドの準備されたバージョンを作成します。
プリペアド ステートメントは、MySQL バージョン 4.1 以降でのみサポートされています。それ以前のバージョンの MySQL に接続している間にプリペアド ステートメントを呼び出すことは可能ですが、そのステートメントは準備されていないステートメントと同様に実行されます。
例
          次の例では、Prepare
          メソッドの使用法を示します。
        
Visual Basic 例 :
  public sub PrepareExample()
    Dim cmd as New MySqlCommand("INSERT INTO mytable VALUES (?val)", myConnection)
    cmd.Parameters.Add( "?val", 10 )
    cmd.Prepare()
    cmd.ExecuteNonQuery()
    
    cmd.Parameters(0).Value = 20
    cmd.ExecuteNonQuery()
  end sub
  
C# 例 :
  private void PrepareExample()
  {
    MySqlCommand cmd = new MySqlCommand("INSERT INTO mytable VALUES (?val)", myConnection);
    cmd.Parameters.Add( "?val", 10 );
    cmd.Prepare();
    cmd.ExecuteNonQuery();
    
    cmd.Parameters[0].Value = 20;
    cmd.ExecuteNonQuery();
  }
  
クエリを実行し、クエリが戻した結果セットの第一行の最初のカラムを返します。余分なカラムや行は無視されます。
戻り値 : 結果セットの第一行の最初のカラム、または結果セットが空な場合はヌルのリファレンス
          ExecuteScalar
          メソッドを使用して、データベースから単一値
          ( 例えば集約値 ) を取り出します。これでは
          ExecuteReader
          メソッドよりも少ないコードを使用し、MySqlDataReader
          が戻したデータを使って、単一値の生成に必要な操作を行います。
        
          典型的な ExecuteScalar
          クエリは、次の C#
          例のようにフォーマットすることができます :
        
C# 例 :
cmd.CommandText = "select count(*) from region"; Int32 count = (int32) cmd.ExecuteScalar();
例
          以下の例は MySqlCommand
          を作成し、ExecuteScalar
          を使用してそれを実行します。この例は、集約結果を返す
          SQL
          文、そしてデータソースへの接続に使用するストリングに渡されます。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As MySqlConnection)
    Dim myCommand As New MySqlCommand(myScalarQuery, myConnection)
    myCommand.Connection.Open()
    myCommand.ExecuteScalar()
    myConnection.Close()
End Sub 
C# 例 :
public void CreateMySqlCommand(string myScalarQuery, MySqlConnection myConnection) 
 {
    MySqlCommand myCommand = new MySqlCommand(myScalarQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteScalar();
    myConnection.Close();
 }
C++ 例 :
public:
    void CreateMySqlCommand(String* myScalarQuery, MySqlConnection* myConnection)
    {
        MySqlCommand* myCommand = new MySqlCommand(myScalarQuery, myConnection);
        myCommand->Connection->Open();
        myCommand->ExecuteScalar();
        myConnection->Close();
    }  
SQL 文を入手または設定し、データソースで実行します。
値 :実行する SQL 文またはストアド プロシージャ。デフォルトは空のストリング。
          CommandType プロパティが
          StoredProcedure
          に設定される際、CommandText
          プロパティをストアド
          プロシージャ名に設定してください。ストアド
          プロシージャ名に特殊な文字が含まれていると、ユーザはエスケープ文字構文を使用しなければならない場合があります。Execute
          メソッドのひとつを呼び出す時に、コマンドがこのストアド
          プロシージャを実行します。
        
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
    Dim myCommand As New MySqlCommand()
    myCommand.CommandText = "SELECT * FROM Mytable ORDER BY id"
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
 {
    MySqlCommand myCommand = new MySqlCommand();
    myCommand.CommandText = "SELECT * FROM mytable ORDER BY id";
    myCommand.CommandType = CommandType.Text;
 }  
コマンドの実行を停止し、エラーを生成するまでの待ち時間を取得または設定します。
値 :コマンド実行までの待ち時間 ( 秒単位 ) 。デフォルトは 0 秒。
MySQL は現在、保留または実行中の作業をキャンセルする方法をサポートしていません。MySQL サーバに対して発行するすべてのコマンドは、完了するか例外が発生するまで実行します。
          CommandText
          プロパティの解説方法を示す値を取得または設定します。
        
          値
          :System.Data.CommandType
          値のひとつ。デフォルト設定では、Text
          。
        
          CommandType プロパティを
          StoredProcedure
          に設定する際、CommandText
          プロパティをストアド
          プロシージャ名に設定してください。Execute
          メソッドのひとつを呼び出す時に、コマンドがこのストアド
          プロシージャを実行します。
        
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
    Dim myCommand As New MySqlCommand()
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
{
   MySqlCommand myCommand = new MySqlCommand();
   myCommand.CommandType = CommandType.Text;
}
          MySqlCommand
          のこの具体例に使用される
          MySqlConnection
          を取得または設定します。
        
          値
          :データソースへの接続。デフォルト値はヌル
          リファレンス ( Visual Basic の
          Nothing ) 。
        
          トランザクションが進行中に
          Connection を設定し、かつ
          Transaction
          プロパティがヌルでない場合、InvalidOperationException
          が生成されます。Transaction
          プロパティがヌルでなく、トランザクションがすでにコミットまたはロールバックされている場合は、Transaction
          はヌルに設定されます。
        
例
          以下の例は MySqlCommand
          を作成し、そのプロパティの一部を設定します。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand()
    Dim mySelectQuery As String = "SELECT * FROM mytable ORDER BY id"
    Dim myConnectString As String = "Persist Security Info=False;database=test;server=myServer"
    Dim myCommand As New MySqlCommand(mySelectQuery)
    myCommand.Connection = New MySqlConnection(myConnectString)
    myCommand.CommandType = CommandType.Text
End Sub
C# 例 :
public void CreateMySqlCommand() 
 {
    string mySelectQuery = "SELECT * FROM mytable ORDER BY id";
    string myConnectString = "Persist Security Info=False;database=test;server=myServer";
    MySqlCommand myCommand = new MySqlCommand(mySelectQuery);
    myCommand.Connection = new MySqlConnection(myConnectString);
    myCommand.CommandType = CommandType.Text;
 }  
 
          MySqlParameterCollection
          を取得します。
        
値 :SQL 文もしくはストアド プロシージャのパラメータ。デフォルトは空のコレクション。
Connector/Net は名前なしのパラメータをサポートしていません。コレクションに加えられるパラメータにはすべて関連する名前が必要です。
例
          次の例は MySqlCommand
          を作成し、そのパラメータを表示します。これを完遂するため、メソッドに
          MySqlConnection 、SQL
          SELECT 文であるクエリ
          ストリング、そして MySqlParameter
          オブジェクトの配列が渡されます。
        
Visual Basic 例 :
Public Sub CreateMySqlCommand(myConnection As MySqlConnection, _
mySelectQuery As String, myParamArray() As MySqlParameter)
    Dim myCommand As New MySqlCommand(mySelectQuery, myConnection)
    myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=?age"
    myCommand.UpdatedRowSource = UpdateRowSource.Both
    myCommand.Parameters.Add(myParamArray)
    Dim j As Integer
    For j = 0 To myCommand.Parameters.Count - 1
       myCommand.Parameters.Add(myParamArray(j))
    Next j
    Dim myMessage As String = ""
    Dim i As Integer
    For i = 0 To myCommand.Parameters.Count - 1
        myMessage += myCommand.Parameters(i).ToString() & ControlChars.Cr
    Next i
    Console.WriteLine(myMessage)
End Sub
C# 例 :
public void CreateMySqlCommand(MySqlConnection myConnection, string mySelectQuery, 
  MySqlParameter[] myParamArray) 
{
   MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection);
   myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=?age";    
   myCommand.Parameters.Add(myParamArray);
   for (int j=0; j<myParamArray.Length; j++)
   {
      myCommand.Parameters.Add(myParamArray[j]) ;
   }
   string myMessage = "";
   for (int i = 0; i < myCommand.Parameters.Count; i++) 
   {
      myMessage += myCommand.Parameters[i].ToString() + "\n";
   }
   MessageBox.Show(myMessage);
}  
          MySqlCommand が実行する中で
          MySqlTransaction
          を取得または設定します。
        
          値
          :MySqlTransaction
          。デフォルト値はヌル リファレンス ( Visual
          Basic の Nothing ) 。
        
          すでに特定の値が設定されている場合、コマンドの実行が進行中の場合は、Transaction
          プロパティを設定することはできません。トランザクションのプロパティを
          MySqlCommand オブジェクトと同じ
          MySqlConnection に接続されていない
          MySqlTransaction
          に設定すると、次にステートメントの実行を試みる際に例外が投入されるでしょう。
        
          System.Data.Common.DbDataAdapter の
          System.Data.Common.DbDataAdapter.Update
          メソッドで使用される時に、コマンドの結果がどのように
          DataRow
          に適用されるかを取得または設定します。
        
          値
          :UpdateRowSource
          値のひとつ。
        
          デフォルトの
          System.Data.UpdateRowSource
          値は、コマンドが (
          MySqlCommandBuilder
          のケースのように) 自動的に生成されない限り
          Both
          になります。コマンドが自動的に生成される場合のデフォルト値は
          None になります。
        

