MySQL中设置字段约束时,如何避免null值错误?

2026-05-05 23:321阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计535个文字,预计阅读时间需要3分钟。

MySQL中设置字段约束时,如何避免null值错误?

无符号整数字段约束,只能存储正整数,仅用于数值类型,不允许出现负数,长度增加一位 CREATE TABLE `test` ( `age` tinyint(4) DEFAULT NULL, `newage` tinyint(3) unsigned DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=

字段约束
  1. unsigned 无符号 只能存储正数

    只能用于数值类型 不允许出现负数 长度增加一倍

    CREATE TABLE `test` ( `age` tinyint(4) DEFAULT NULL, `newage` tinyint(3) unsigned DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8

  2. zerofill 零填充

    只能用于数值类型 当存储的数据长度不足 使用零填充

    alter table test add zf int(5) zerofill; insert into test(zf) values(12345);

  3. auto_incement 自增

    用于设置字段的自动增长 每增加一条记录 该字段的值会自动加1(用于设置主键)

    create table test2( -> id int primary key auto_increment, -> username varchar(10) default 'xxx' -> ); insert into test2 values(null, 'xxx'); insert into test2(username) values('xxx');

    注意:

    • 需要配合我们的主键索引使用
    • 插入数据无需给值 增长的步长默认为1
  4. default 默认值

    当不给该字段插入值 则值为默认值 否则值为你所给定的值

    alter table test2 add sex enum('w','m') default 'w';

  5. null/not null

    MySQL中设置字段约束时,如何避免null值错误?

    字段在没有设置not null的时候 默认都为null 此刻插入数据的时候 可以给值 也可以不给值

    如果设置了not null 则必须给值

    alter table test2 add age tinyint unsigned not null; insert into test2(username) values('xxx');

  6. comment 字段说明

    字段说明

    alter table test2 add info varchar(20) comment '个人说明';

    表说明

    alter table test2 comment='测试表';

null值注意事项
  • null 意味着没有值或者是未知值
  • 不能对空值进行运算 结果为null
  • 0和null都为假
  • 可以测试是否为空 is null

本文共计535个文字,预计阅读时间需要3分钟。

MySQL中设置字段约束时,如何避免null值错误?

无符号整数字段约束,只能存储正整数,仅用于数值类型,不允许出现负数,长度增加一位 CREATE TABLE `test` ( `age` tinyint(4) DEFAULT NULL, `newage` tinyint(3) unsigned DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=

字段约束
  1. unsigned 无符号 只能存储正数

    只能用于数值类型 不允许出现负数 长度增加一倍

    CREATE TABLE `test` ( `age` tinyint(4) DEFAULT NULL, `newage` tinyint(3) unsigned DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8

  2. zerofill 零填充

    只能用于数值类型 当存储的数据长度不足 使用零填充

    alter table test add zf int(5) zerofill; insert into test(zf) values(12345);

  3. auto_incement 自增

    用于设置字段的自动增长 每增加一条记录 该字段的值会自动加1(用于设置主键)

    create table test2( -> id int primary key auto_increment, -> username varchar(10) default 'xxx' -> ); insert into test2 values(null, 'xxx'); insert into test2(username) values('xxx');

    注意:

    • 需要配合我们的主键索引使用
    • 插入数据无需给值 增长的步长默认为1
  4. default 默认值

    当不给该字段插入值 则值为默认值 否则值为你所给定的值

    alter table test2 add sex enum('w','m') default 'w';

  5. null/not null

    MySQL中设置字段约束时,如何避免null值错误?

    字段在没有设置not null的时候 默认都为null 此刻插入数据的时候 可以给值 也可以不给值

    如果设置了not null 则必须给值

    alter table test2 add age tinyint unsigned not null; insert into test2(username) values('xxx');

  6. comment 字段说明

    字段说明

    alter table test2 add info varchar(20) comment '个人说明';

    表说明

    alter table test2 comment='测试表';

null值注意事项
  • null 意味着没有值或者是未知值
  • 不能对空值进行运算 结果为null
  • 0和null都为假
  • 可以测试是否为空 is null