十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
alter table 表名 modify 列名 not null;
成都创新互联主营汪清网站建设的网络公司,主营网站建设方案,重庆APP开发,汪清h5重庆小程序开发搭建,汪清网站营销推广欢迎汪清等地区企业咨询
你在建表时使用not null即可做到限制‘’这种空串的插入了。
‘’和null虽然本质上不一样,但‘’读到数据库时是被当做null处理的。
你这样设置之后,是不能插入的空(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!=\\'\\')
) ;
如果想要增加一个不为空的字段可以,但要放进先放入默认值
比如在scott的emp中加入一列'T'不为空的,可以这么写
alter table emp add T number(8) default (0) not null;
not null 和 default不能换位置
查询字段为空的数据。如下三条语句查询的结果各不相同。
select count(0) from tps_uw_detail where trim(coreContNo)=''; ###1736
select count(0) from tps_uw_detail where coreContNo is null; ###735
select count(0) from tps_uw_detail where (coreContNo is null or trim(coreContNo)='');##2471
='';就是存的空字符串;is null 就是默认的。
由于是后来新加的字段,默认为null,所以历史数据都为null。表中加上这个字段后,再落库的数据就是空字符串了。
根据自己的需求选用脚本,第三个是适合我的。