暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss 非空约束

openGauss小助手 2021-10-23
777
非空约束(NOT NULL),能够限制数据不能为空,这种约束只作用于列级。
例如:创建如表3-30所示的customer表,用于记录消费者信息,并进行相应数据的插入操作。表中c_custkey字段表示顾客编号,c_name字段表示顾客姓名。
表3-30 数据表customer结构
customer
Columnc_custkeyc_name
TypeINTEGERVARCHAR
创建表customer时,在字段后直接添加“NOT NULL”关键字,即可对此列创建非空约束。具体语句如下:
CREATE TABLE customer(
c_custkey INTEGER NOT NULL,
c_name VARCHAR(25)
);
执行上述SQL语句后,即可创建表customer,并设置c_custkey列为非空约束。查看表结构,可以看到c_custkey列被设置了NOT NULL属性,如表3-31所示。
表3-31 数据表customer字段类型及属性
ColumnTypeModifiers
c_custkeyINTEGERNOT NULL
c_nameVARCHAR(25)
表customer插入数据时,如插入一条张三的信息{0, zhangsan},信息完整,可以插入。但如果把c_custkey设成NULL进行插入时,受限于非空约束,这个操作会被数据库系统拒绝。例如:
INSERT INTO customer (c_custkey,c_name) VALUES (0,'zhangsan');
INSERT INTO customer (c_custkey,c_name) VALUES (NULL,'zhangsan');
以上两条插入语句,第一条顺利执行。第二条将提示类似“violates not-NULL constraint”的违反约束错误,因为非空约束能限制插入数据不为空值。语句执行结果字段状态如图3-5所示。

图3-5 SQL执行结果字段状态表
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论