SQLDEFAULT制約_
SQLDEFAULT制約
制約は、列のDEFAULT
デフォルト値を設定するために使用されます。
他の値が指定されていない場合、デフォルト値がすべての新しいレコードに追加されます。
CREATETABLEのSQLDEFAULT
次のSQLはDEFAULT
、「Persons」テーブルが作成されるときに「City」列の値を設定します。
私のSQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT 'Sandnes'
);
制約は、次のDEFAULT
ような関数を使用して、システム値を挿入するためにも使用できます。
GETDATE()
CREATE TABLE Orders
(
ID int NOT NULL,
OrderNumber int NOT NULL,
OrderDate date DEFAULT GETDATE()
);
ALTERTABLEのSQLDEFAULT
DEFAULT
テーブルがすでに作成されているときに「City」列に制約を作成するには、次のSQLを使用します。
MySQL:
ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';
SQLサーバー:
ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'Sandnes' FOR City;
MSアクセス:
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'Sandnes';
オラクル:
ALTER TABLE Persons
MODIFY City DEFAULT 'Sandnes';
デフォルトの制約を削除する
制約を削除するDEFAULT
には、次のSQLを使用します。
MySQL:
ALTER TABLE Persons
ALTER City DROP DEFAULT;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;