VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

非空约束

非空约束只是指定列不能采用空值。语法示例:

vastbase=# CREATE TABLE products ( product_no integer NOT NULL,  name text NOT NULL, price numeric ); 

非空约束始终写为列约束。非空约束在功能上等同于创建检查约束 CHECK (column_name IS NOT NULL),但在Vastbase中创建显式非空约束更有效。缺点是不能为以这种方式创建的非空约束提供显式名称。

当然,列可以有多个约束。

vastbase=# CREATE TABLE products ( product_no integer NOT NULL,name text NOT NULL, price numeric NOT NULL CHECK (price > 0) ); 

NOT NULL 约束具有反转: NULL 约束。这并不意味着列必须为NULL,这肯定是无用的。相反,这只是选择列可能为NULL 的默认行为。 NULL约束在SQL标准中不存在,不应在便携式应用程序中使用。(它只是添加到Vastbase以与其他一些数据库系统兼容。)然而,有些用户喜欢它,因为它可以很容易地在脚本文件中切换约束。

例如,可以在需要的位置插入 NOT 关键字。

vastbase=# CREATE TABLE products ( product_no integer NULL, name text NULL,  price numeric NULL );

说明
在大多数数据库设计中,大多数列应标记为非空。