最新遇到mysql null 值查询的问题,当查询这个字段有的为null 有的不为null 该字段查询条件查询为null值得将不显示。
举例
新建表 test_user name和phone得值默认值为null
我们添加一些数据
查询下name 不是张三得数据
select * from test_user where name !='张三'
id 为4得为啥查不出来? 如果你得业务是name 为 null 值也得查出来,这样会造成数据得丢失
相同得查询 手机号不是 15822222222 得数据
SELECT * FROM test_user WHERE phone !='15822222222'
王二不见了
我们把 name 和 phone 得默认值改成空试试
利用sql语句把数据库为null 的字段改成空
UPDATE test_user SET NAME = IFNULL(NAME,'')
UPDATE test_user SET phone = IFNULL(phone,'')
我们再查询一遍上面的sql
为空的值就可以查出来了。
这个创建表的时候根据自己的业务场景要注意创建的字段默认值是空还是null的问题