DEFAULT 定義の作成と変更
DEFAULT 定義は、テーブルを作成するときに、テーブル定義の一部として作成できます。テーブルが既に存在する場合は、DEFAULT 定義を追加できます。テーブル内のそれぞれの列に対し、DEFAULT 定義を 1 つ作成できます。
既存の DEFAULT 定義を変更または削除することもできます。たとえば、値を入力しない場合に列に挿入される値を変更できます。
メモ : |
---|
DEFAULT 定義を変更するには、最初に既存の DEFAULT 定義を削除してから、新しい定義を使用して再作成する必要があります。 |
次のデータ型、プロパティ、またはオブジェクトが定義されている列に DEFAULT 定義を作成することはできません。
- timestamp データ型
- IDENTITY プロパティまたは ROWGUIDCOL プロパティ
- 既存の DEFAULT 定義または DEFAULT オブジェクト
メモ : 既定値は、DEFAULT 定義が適用される列のデータ型と互換性がある必要があります。たとえば、int 型の列の既定値は文字列ではなく整数にする必要があります。
テーブルの既存の列に DEFAULT 定義を追加すると、SQL Server 2005 データベース エンジン では既定で、テーブルに追加される新しいデータ行にのみ新しいデフォルトが適用されます。以前の DEFAULT 定義を使用して挿入した既存のデータは、影響を受けません。ただし、既存のテーブルに新しい列を追加するときに、テーブル内の既存の行の新しい列に NULL 値ではなく DEFAULT 定義で指定した既定値を挿入するように、データベース エンジン に指定できます。
DEFAULT 定義を削除すると、新しい行の列に値が挿入されない場合、データベース エンジン により既定値ではなく NULL 値が挿入されます。ただし、テーブル内の既存のデータは変更されません。
テーブルの作成時に列の DEFAULT 定義を作成するには
既存のテーブルの列の DEFAULT 定義を作成または削除するには
列の既定値を指定する方法 (Visual Database Tools)
テーブル列のプロパティ (SQL Server Management Studio)
DEFAULT オブジェクトを削除するには
DEFAULT 定義に関する情報を入手するには
sys.default_constraints (Transact-SQL)