www.nhdl.net > 为什么mysql字段要设置为not null

为什么mysql字段要设置为not null

都有默认值了,当然是设成not null了。 能够非空的尽量非空。 甚至为了尽可能避免碎片,假如为了优化,甚至需要把非空字段提前到空字段前面,但这样会影响程序的可读性和编码复杂。

都设置了not null 不插入值得话当然会报错,就好比说叫你装杯水,而你只拿了个水杯。

not null 表示这个字段不能为空 虽然看起来他是人为设置的 但是他和业务逻辑或者数据结构有关系 比如你要对这条记录进行读取 而这个是很重要的属性 那么你不仅要让其不为空 还要让他是指定的格式或者数值 还有情况就是 这个字段恰是其他表的主键...

这个是从实际意义决定的 比如 金额字段 如果系统中要求必须填写, 那么就设置为not null, 但是这样一来,如果一旦再录入信息是无法确定金额大小,就无法正确的进入到系统中 而如果设置为可空, 则null就可以表示不确定或漏填

为什么mysql字段要设置为not null not null 表示这个字段不能为空 虽然看起来他是人为设置的 但是他和业务逻辑或者数据结构有关系 比如你要对这条记录进行读取 而这个是很重要的属性 那么你不仅要让其不为空 还要让他是指定的格式或者数值 还有...

都有默认值了,当然是设成not null了。 能够非空的尽量非空。 Mysql难以优化引用可空列查询,它会使索引、索引统计和值更加复杂。可空列需要更多的存储空间,还需要mysql内部进行特殊处理。可空列被索引后,每条记录都需要一个额外的字节,还能...

为了保证数据的完整性啊

如果是not null的话,那你就必须插入一个值,你不插入值的话,就会调用默认值。 如果这两个都没有的话,就会报错了 所以,改下你的insert insert into zc_manager(user,pass,level) values('admin','123456',-1);

如果是not null的话,那你就必须插入一个值,你不插入值的话,就会调用默认值。 如果这两个都没有的话,就会报错了 所以,改下你的insert insert into zc_manager(user,pass,level) values('admin','123456',-1);

你都制定bit(1)长度为1了, 还用true,肯定错误, 而且bit是数字类型 true改成 1

网站地图

All rights reserved Powered by www.nhdl.net

copyright ©right 2010-2021。
www.nhdl.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com