什么是MySQL NOT NULL约束?我们如何在创建表时声明字段NOT NULL?

实际上,MySQL NOT NULL约束限制了表的某一列具有NULL值。一旦将NOT NULL约束应用于列,便无法将null值传递给该列。它不能在整个表上声明,也就是说,我们可以说NOT NULL是列级约束。

为了声明字段NOT NULL,我们必须在CREATE TABLE语句中定义列时使用NOT NULL关键字。

示例

mysql> Create table Employee(ID Int NOT NULL, First_Name Varchar(20), Last_name Varchar(20), Designation Varchar(15));

在上面的查询中,我们对“雇员”表的字段“ ID”应用了NOT NULL约束。现在,“ ID”列不能采用NULL值。也可以从DESCRIBE语句检查ID字段不能接受NULL值。

mysql> DESCRIBE Employee123\G
*************************** 1. row ***************************
  Field: ID
   Type: int(11)
   Null: NO
    Key:
Default: NULL
  Extra:
*************************** 2. row ***************************
  Field: First_Name
   Type: varchar(20)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 3. row ***************************
  Field: Last_name
   Type: varchar(20)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 4. row ***************************
  Field: Designation
   Type: varchar(15)
   Null: YES
    Key:
Default: NULL
  Extra:
4 rows in set (0.03 sec)