DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新记录。
CREATE TABLE 时的 SQL DEFAULT 约束
在"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 ALTER COLUMN City SET DEFAULT 'SANDNES'
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
参考:
https://www.yuque.com/docs/share/5d7fbb69-2fb3-4a13-a0c2-7ab89ab1b909