“not null”不是索引而是非空约束,用于指定字段的值不能为空;对于使用了非空约束的字段,如果添加数据时没有指定值,则会报错。设置非空约束的两种方法:1、建表时设置,语法“CREATE TABLE 表名(字段名 数据类型 NOT NULL);”;2、修改表时设置,语法“ALTER TABLE 表名 CHANGE COLUMN 字段名 字段名 数据类型 NOT NULL;”。
本教程操作环境:windows7系统、
mysql
8版本、Dell G3电脑。
“not null”不是索引而是非空约束。
非空约束(NOT NULL)
指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。
比如,在用户信息表中,如果不添加用户名,那么这条用户信息就是无效的,这时就可以为用户名字段设置非空约束。
在创建表时设置非空约束
创建表时可以使用 NOT NULL 关键字设置非空约束,具体的语法格式如下:
示例:创建数据表 tb_dept4,指定部门名称不能为空
MySQL(Linux)
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
下载
在修改表时添加非空约束
如果在创建表时忘记了为字段设置非空约束,也可以通过修改表进行非空约束的添加。
修改表时设置非空约束的语法格式如下:
示例:修改数据表 tb_dept4,指定部门位置不能为空
【相关推荐:
mysql视频教程
】
CREATE TABLE 表名(
字段名 数据类型 NOT NULL
);CREATE TABLE tb_dept4
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);DESC tb_dept4;ALTER TABLE <表名
CHANGE COLUMN 字段名
字段名 数据类型 NOT NULL;ALTER TABLE tb_dept4
CHANGE COLUMN location
location VARCHAR(50) NOT NULL;