默认情况下,表的列保存 NULL 值,即空值。 MySQL NOT NULL 约束用于强制列不接受 NULL 值,即非空值。这可确保该列始终具有值。这意味着如果不为此列提供值,则无法插入新记录。同样,该列不能用 NULL 值更新。
MySQL CREATE TABLE NOT NULL 约束
下面提到的语句创建一个名为 Employee 的表其中包含五列:EmpID、Name、City、Age 和 Salary其中 NOT NULL 约束应用于列 EmpID、Name 和 City。
CREATE TABLE Employee (
EmpID INT NOT NULL,
Name VARCHAR(255) NOT NULL,
City VARCHAR(100) NOT NULL,
Age INT,
Salary DECIMAL(18,2)
);
MySQL ALTER TABLE NOT NULL 约束
在上面的示例中,创建了一个名为Employee的表,其中列Salary没有NOT NULL约束。要在此列上强制执行 NOT NULL 约束,可以使用以下语句:
ALTER TABLE Employee
MODIFY COLUMN Salary DECIMAL(18,2) NOT NULL;
删除 NOT NULL 约束
修改Employee表的非空约束,语句如下:
ALTER TABLE Employee
MODIFY COLUMN City VARCHAR(100) NULL;