非空约束
非空约束只是指定列不能采用空值。语法示例:
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 );
在大多数数据库设计中,大多数列应标记为非空。