重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你这样设置之后,是不能插入的空(NULL),而是能插入空串('')。
创新互联建站网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了网站设计、成都网站建设,成都网站设计,广告投放平台,成都做网站选创新互联建站,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。
如果不让插入空串,应该使用check,例如:
CREATE TABLE table2 (
title varchar(50) NOT NULL,
message varchar(200) NOT NULL DEFAULT '内容',
msname varchar(50) NOT NULL DEFAULT '发布人',
date date NOT NULL,
PRIMARY KEY (`title`) ,
CHECK (title!='')
) ;
不知道你为啥要这么问,没有数据当然可以这么设置了,如果有数据且设置列为空时,你设置非常,会提示设置不了,但没有数据的情况下,肯定是可以这么设置的。
空值是一种特殊的状态, 表示某一个字段"没有被处理过"
几乎在所有的数据库中甚至是编程语言中, 空与非空都有其存在的意义, 举个例子, 一个人员表中, 有一个年龄字段, 这个年龄字段如果为非 空, 则在不知道人员年龄的情况下, 数据无法入库, 否则会显示个奇怪的年龄(比如0岁, 或者-1岁等)
而有些情况泽不可以为空, 最常见的就是"主键", 比如身份证号之类的