MySQL DEFAULT 约束用于设置列的默认值。当插入新记录而不指定任何值时,该列将采用默认值。
MySQL CREATE TABLE DEFAULT 约束
下面提到的语句创建一个名为 Employee 的表,其中包含五列:EmpID, Name、City、Age 和 Salary,其中 DEFAULT 约束应用于 City 列。
CREATE TABLE Employee (
EmpID INT NOT NULL,
Name VARCHAR(255),
City VARCHAR(100) DEFAULT 'London',
Age INT,
Salary DECIMAL(18,2)
);
DEFAULT 约束也可用于插入系统值,通过使用 CURRENT_TIMESTAMP 等函数:
CREATE TABLE Orders (
OrderID INT NOT NULL,
OrderQuantity INT NOT NULL,
OrderPrice DECIMAL(18,2),
OrderDate DATETIME DEFAULT CURRENT_TIMESTAMP
);
MySQL ALTER TABLE DEFAULT 约束
例如,创建了一个名为 Employee 的表。要对 City 列强制执行 DEFAULT 约束,语句如下:
ALTER TABLE Employee
ALTER City SET DEFAULT 'London';
或者
ALTER TABLE Employee
ALTER COLUMN City SET DEFAULT 'London';
删除DEFAULT 约束
从名为 Employee 的表中删除 DEFAULT 约束,声明如下:
ALTER TABLE Employee
ALTER City DROP DEFAULT;
或者
ALTER TABLE Employee
ALTER COLUMN City DROP DEFAULT;