MySQL NULL 或 NOT NULL

MySQL NULL 或 NOT NULL

MySQL 中,对于一个表的列,我们需要决定其是否允许为空。这时,就需要使用 NULL 或 NOT NULL 来表明该列是否能为空。

阅读更多:MySQL 教程

NULL

NULL 表示这个列没被赋予一个值,也就是空值。在 MySQL 中,如果在一个列中存储 NULL,则需要将该列定义为允许 NULL 值,否则会报错。

例如,我们创建一个学生表:

CREATE TABLE student (
  id INT PRIMARY KEY,
  name VARCHAR(30),
  age INT,
  email VARCHAR(50)
);
Mysql

如果我们想允许某些学生的邮箱为空,可以这样定义:

ALTER TABLE student MODIFY COLUMN email VARCHAR(50) NULL;
Mysql

NOT NULL

NOT NULL 表示该列必须有一个非空值。如果定义列为 NOT NULL,但是进行插入操作时没有给该列赋值或者使用空字符串,则会报错。

接着上面的例子,如果我们想要强制所有学生必须填写姓名和年龄,可以这样定义:

ALTER TABLE student MODIFY COLUMN name VARCHAR(30) NOT NULL;
ALTER TABLE student MODIFY COLUMN age INT NOT NULL;
Mysql

总结

在定义 MySQL 表的列时,需要根据业务需求来决定是否允许空值。如果允许空值,需要使用 NULL 来定义,如果不允许空值,需要使用 NOT NULL 来定义。同时,在进行插入或者更新操作时,需要确保列的值符合定义要求,否则会报错。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册