门户网站的重要性,专门做尿不湿的网站,业务型网站首页,河北省建设工程招标投标协会网站一些刚刚接触MySQL的孩子#xff0c;经常会错误的认为NULL与空字符串 是相同的。这看似是一件不重要的事情#xff0c;但是在MySQL中#xff0c;这两者是完全不同的。NULL是指没有值#xff0c;而则表示值是存在的#xff0c;只不过是个空值。。 这就相当于厂子给职工分房…一些刚刚接触MySQL的孩子经常会错误的认为NULL与空字符串 是相同的。这看似是一件不重要的事情但是在MySQL中这两者是完全不同的。NULL是指没有值而则表示值是存在的只不过是个空值。。 这就相当于厂子给职工分房子一共只有一套老张和老李一些刚刚接触MySQL的孩子经常会错误的认为NULL与空字符串 是相同的。这看似是一件不重要的事情但是在MySQL中这两者是完全不同的。NULL是指没有值而则表示值是存在的只不过是个空值。。这就相当于厂子给职工分房子一共只有一套老张和老李都想要可是经理告诉老张下次有您的房子可是老李压根就没人搭理他。所以老张的房子是空的因为这是空白支票不过毕竟经理张口了而老李的房子就是NULL的因为根本就没有人考虑过他。二者的区别不大但是如果不仔细的话可能会使我们限入困境。因为在PRIMARY KEY字段中是不能使用NULL值的。这一点我们应该记住哈。首先创建一个表create table ceshi(ID INT ,createDate TimesTamp );包含2个字段id为int类型createDate为TimesTamp类型现在往这个表中插入一条数据其中createDate类型插入一个空值null;语句: insert into ceshi values(001,null);代码如下mysql insert into ceshi values(001,null);Query OK, 1 row affected (0.01 sec)插入成功了现在来查询下这个表中的记录查看结果如下代码如下mysql select * from ceshi;---------------------------| ID | createDate |---------------------------| 1 | 2012-10-08 06:12:34 |---------------------------1 row in set (0.01 sec)我明明插入的是一条空值null为什么在显示的时候是显示系统当前时间呢?那再试试直接插入空字符串呢?代码如下mysql insert into ceshi values(002,);Query OK, 1 row affected, 1 warning (0.00 sec)mysql select * from ceshi;---------------------------| ID | createDate |---------------------------| 1 | 2012-10-08 06:12:34 || 2 | 0000-00-00 00:00:00 |---------------------------2 rows in set (0.00 sec)显示的不是系统当前时间而是0000-00-00 00:00:00。那如果字段不是时间类型而是varchar类型结果又会不会也是一样呢更改表结构增加字段name varchar(10)同时插入一条数据代码如下mysql insert into ceshi values(003,null,null);Query OK, 1 row affected (0.01 sec)mysql select * from ceshi;---------------------------------| ID | createDate | name |---------------------------------| 1 | 2012-10-08 06:12:34 | NULL || 2 | 0000-00-00 00:00:00 | NULL || 3 | 2012-10-08 06:22:12 | NULL |---------------------------------3 rows in set (0.00 sec)增加了null值再往字段中插入空字符串代码如下mysql insert into ceshi(name) values();Query OK, 1 row affected (0.01 sec)mysql select * from ceshi;---------------------------------| ID | createDate | name |---------------------------------| 1 | 2012-10-08 06:12:34 | NULL || 2 | 0000-00-00 00:00:00 | NULL || 3 | 2012-10-08 06:22:12 | NULL || NULL | 2012-10-08 06:23:01 | |---------------------------------4 rows in set (0.01 sec)看着好似插入的都没有问题但是我们去统计name的数据量时候这个时候又有问题了代码如下mysql select count(name) from ceshi;-------------| count(name) |-------------| 1 |-------------1 row in set (0.00 sec)简单的说 空字符串空字符串; 是ture 而 NULL NULL 是false;NULL是什么都没有的意思。空毕竟是空~还是有东西只是它的这个东西是空在mssql中执行下面语句print nullNull有值吗?;print 空串有值吗?;本条技术文章来源于互联网如果无意侵犯您的权益请点击此处反馈版权投诉本文系统来源php中文网