两种空的表示形式

  1. null可表示空,null是关键字,一般表示什么也没有,下面称呼它为null。
  2. ''可表示空,''是一对单引号表示一个空字符串, 下面称呼它为“空值”。

操作

  1. 向表的某列写入“空”
  2. 以“空”为条件查询

在使用FDP时操作表时,对“空”的处理

  1. 避免使用“空”
  2. 无法避免时如何作

避免使用“空”

在设计表结构时,应避免使用“空”。 举例,审批表有一个status状态字段。

差的设计 :"空"表示待审核,1表示审批中,2表示审批通过,3表示审批不通过。

"空"在mysql数据库中有两种,请看 MySql数据库的null和空值

"空"在oracle数据库中有一种,请看 Oracle数据库的null和空值

假如你使用的是mysql数据,它是区分null与空值(空字符串)的,"空"表示待审核,写入时:"空"有可能是null或空值(空字符串),查询时:也要加以区分才行。

好的设计 :0表示待审核,1表示审批中,2表示审批通过,3表示审批不通过。

在设计表时应避免使用“空”,就避开了这个烦恼。

无法避免时如何做

当你使用旧项目中已有的表,表结构早以设计好,你不能改变时。

若使用mysql库时,想清空某列时,建议写入null ,不建议写入空值(空字符串),并保持一致性。目前FDP可使用updateById语句、insert语句来写入null。是全字段写入也要小心处理。或自己手动写sql来实现。

查询时使用,select * from test_02 where  name ='' or name is null;  # 要使用or才能查出正确结果,真麻烦阿!

若使用Oralce库时,使用  NOT NULL  、IS NOT NULL。