有没有哪位前辈点拨一下mysql中的 “not null” 到底是起什么作用,或者说,再什么时候该用,在什么时候不用。网上相关的内容我看了很多,但感觉都没讲到本质的东西,在此向高人请教……
贴一些,我在群里面讨论的内容:我理解的not null  /  null 的情况下区别好像只在 "null" 这个值上 但是 插入数据的时候  一般情况下好像不会去插入 一个 null 吧
我从网上看  好像大部分都说这个  主要是在查询的时候有一个效率问题如果是 not null ,查询的时候会快点那我是不是可以这么理解  如果我不会查询这个字段,那么这个字段 (not null / null),从功能上来讲,并无区别??
这里 ,我也想问:如果我不会查询这个字段,那么这个字段 (not null / null),从功能上来讲,并无区别??

解决方案 »

  1.   

    还是和业务逻辑有关系吧?比如说,人事档案,其中的姓名就是not null的。数据库可以给你多一点数据完整性的保护,没什么不好。插入数据的时候还是可能有null的,如果插入的时候指定了若干字段,而没有指定的那些字段你没有指定字段的默认值(像姓名,默认值没什么意义),就是null了。
      

  2.   


    我就是不知道,在什么时候该用,什么时候不该用…比如说在用了 not null 之后,需要注意哪些方面?
      

  3.   

    谢谢你能够几次解答!还有这样一个问题,[color=#FF0000]如果设置为  NOT NULL,是否一定要指定 DEFAULT?[/color]因为我在操作中,遇到这样一个问题,有时候没指定 DEFAULT,在插入数据的时候会提示,如果不给这个字段值,会提示没有 DEFAULT VALUE,但是有时候又不会… 
      

  4.   

    如果你在插入时不想写字段值,就要DEFAULT