MySQL 关键字

MySQL DEFAULT 关键字是一个约束,它用于设置列的默认值。当插入新记录而不指定任何值时,该列将采用默认值。

带有 CREATE TABLE 的 MySQL 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 DEFAULT 约束与 ALTER TABLE

在上面例如,创建了一个名为 Employee 的表。要在 City 列上强制执行 DEFAULT 约束,语句如下:

ALTER TABLE Employee
ALTER City SET DEFAULT 'London';

或者

ALTER TABLE Employee
ALTER COLUMN City SET DEFAULT 'London'; 

DROP DEFAULT 约束

从名为Employee 的表中删除 DEFAULT 约束,声明如下:

ALTER TABLE Employee
ALTER City DROP DEFAULT;

或者

ALTER TABLE Employee
ALTER COLUMN City DROP DEFAULT;