赞
踩
当not null与default作为约束同时出现在同一个字段时,很多初学者会分辨不清两者同时出现的作用与区别,本质是因为没有分清往字段插入null值与不插入任何值这两种情况。下面就来介绍一下两者的使用:
not null是非空的约束,也就是不能向表里插入null值;
default是默认值,表示当此字段不给任何值(包含null值)时,那这个字段就取默认值;
举个例子
创建一张表students:
CREATE TABLE students( 学号 varchar(4) PRIMARY KEY, 姓名 VARCHAR(10) NOT NULL DEFAULT '', 年龄 INT);
当插入以下数据会报错!因为姓名有not null约束所以不能为null;
INTSERT INTO employees (学号,姓名,年龄)VALUE("0001", NULL, 11);
当插入以下数据时,姓名字段会取默认值为空的字符串,因为姓名字段没有给任何值;
INSERT INTO employees(学号, 年龄) VALUE("0002",10);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。