数据库设计中NULL的坑

在数据库设计中字段尽量不要默认允许为NULL,因为NUll这个值太特殊了,最近在一个项目中再次掉如这个坑中。
简单描述一下我们遇到的问题:
数据表A的字段a类型为varchar,默认允许NULL,然后在程序中有一个业务需求的SQL语句是这个
SELECT * FROM A WHERE a != 'something' ,
原本期待的是这个SQL语句会按照我们期望的结果执行,查询出所有a不等于something的执行,然后实际上并不是如此。该SQL语句只查询出了a不能与NULL且不等于something的数据。后来查询才明白,因为NULL和任何其他值比较都是FALSE

    原文作者:ljyf5593
    原文地址: https://segmentfault.com/a/1190000012905054
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞