mysql为什么数据库有默认值结果为null
在MySQL中,字段设置了默认值,并且字段可空的情况下,在插入数据时,如果此字段传入的是“NULL”,则保存为NULL;如果此字段传入的是“DEFAULT”,则保存为默认值。
为什么会这样呢,试想一下,假如需要此字段的数据保存为NULL的时候,传入了NULL,而结果又为默认值,是不是就会出现问题。所以传入NULL,其结果就为NULL。
这里举个例子,如果一张表中有3个字段,分别是姓名、年龄、性别,其中性别设置了默认值,那么性别保存为默认值的SQL语法为“INSERT INTO USER VALUES ('张三', 20, DEFAULT)”,保存为NULL的SQL语法为“INSERT INTO USER VALUES ('张三', 20, NULL)”。
mysql语句中NOT NULL的意思
null表示为空,即某条数据的某个字段是空的,没有值。
比如我们有个成绩表记录学生成绩,但是老师批改速度不一样,因此某时点录入数据库的只有部分同学的成绩。现在我们只想看已经出了成绩的数据,就可以用not null。如:
select * from 表名 where 成绩字段 is not null。
mysql的char,varchar区别,为什么不能用默认null
char的长度是不可变的,而varchar的长度是可变的;char最多可以存放255个字符,varchar的最大长度为65535个字节。字段可以默认为null,但是如果设置了主键就不能为null了。
还没有评论,来说两句吧...