mysql的非空怎么弄

夜凉初透陌汐 6个月前 152浏览 0评论

MySQL中需要设置表中某些列为非空,即不允许其值为NULL,可以在定义表的时候使用NOT NULL约束条件。

CREATE TABLE example (
  id INT NOT NULL,
  name VARCHAR(50) NOT NULL,
  age INT
);

上述代码创建了一个名为example的表,其中id和name列都设置了NOT NULL约束。当进行插入或更新操作时,如果这两列的值为NULL,则会报错。

如果只想在已有的表中将某些列设为非空,可以使用ALTER TABLE语句来添加NOT NULL约束条件。

ALTER TABLE example MODIFY COLUMN age INT NOT NULL;

上述代码将example表中的age列添加了NOT NULL约束条件。在此之后进行插入或更新操作时,不添加age列的值或将其值设为NULL,都会引发错误。

值得注意的是,在创建表时,如果定义了一个列为NOT NULL,但没有默认值,而在插入数据时也没有给该列赋值,则MySQL会为该列自动分配一个默认值,如0、空字符串、空间等。因此,如果希望该列的默认值为NULL,需要明确地给列指定DEFAULT NULL。

CREATE TABLE test_table (
  id INT NOT NULL,
  name VARCHAR(20) DEFAULT NULL
);