日期:2014-05-16  浏览次数:20715 次

mysql对null的处理

首先null并不是空,而表示‘没有值’或‘未知值’,null不属于任何类型

1.当创建一个表,字段约束没有指定为not null时,没有添加数据时默认为null,不管是整型还是字符类型;

如.create table test(arg1 varchar(30),arg2 int);

select * from test;

? \">

2.当创建一个表,而字段约束是not null,当该字段没有添加值时,整型字段默认为0,字符型字段默认为空字符。

在sql语句中要注意这两点。

select * from 表名 where arg1!=‘’;查询arg1为非空的行

select * from 表名 where arg1 is not null;查询arg1不是null的行,当定义字段时,约束为not null,则这句sql语句就不可能查到对应行。