SQL DEFAULT 约束

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。

  1. CREATE TABLE 时的 SQL DEFAULT 约束
  2. ALTER TABLE 时的 SQL DEFAULT 约束
  3. 撤销 DEFAULT 约束

CREATE TABLE 时的 SQL DEFAULT 约束

下面的 SQL 在 "Persons" 表创建时在 "City" 列上创建 DEFAULT 约束:

My SQL / SQL Server / Oracle / MS Access:


CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)

通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:


CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)

ALTER TABLE 时的 SQL DEFAULT 约束

当表已被创建时,如需在 "City" 列创建 DEFAULT 约束,请使用下面的 SQL:

MySQL:


ALTER TABLE Persons
ALTER City SET DEFAULT 'SANDNES'

SQL Server / MS Access:


ALTER TABLE Persons 
ADD CONSTRAINT DF_Persons_City DEFAULT('SANDNES') FOR City

--注释
--Persons 为表名
--City 为列名
--DF_Persons_City 为我们创建的默认约束的名称 约束名称一般为:约束类型简称_表名_列名

Oracle:


ALTER TABLE Persons
MODIFY City DEFAULT 'SANDNES'

撤销 DEFAULT 约束

如需撤销 DEFAULT 约束,请使用下面的 SQL:

MySQL:


ALTER TABLE Persons
ALTER City DROP DEFAULT

SQL Server / Oracle / MS Access:


ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT
0 条评论