MySQL之约束-4. DEFALUT 默认约束

时间:2024-10-25 07:39:34
  • 首先我们重新创建一个表,新增年龄列
 create table family (id bigint,name varchar(20) NOT NULL, age int);

在这里插入图片描述

  • 插入一条数据,没有设置默认约束时,不指定年龄的值时列为NULL

在这里插入图片描述

  • 我们希望插入进来的数据,没有给定年龄时,会默认有年龄,那么我们重构家庭表,为年龄加入默认约束
    在要加约束的列名后直接加default 默认值即可
 create table family (id bigint,name varchar(20) NOT NULL, age int default 18);
  • 我们发现在插入一条记录时,不指定年龄的值时列使用了默认值18 并且表结构中age 列的default列默认为18

在这里插入图片描述

  • 那么我们如果插入年龄列为NULL 值时,是否还会使用默认值18 呢? 我们来一探究竟 我们发现当我们明确指定插入记录为NULL时,不会使用默认值

在这里插入图片描述