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

非空约束

原创 半島舊夢℅ 2020-06-05
1294

uxdb=# CREATE TABLE products (
product_no integer NOT NULL,
product_date timestamptz,
price numeric CHECK (price > 0) NOT NULL,
discounted_price numeric NOT NULL,
constraint my_check_of_table CHECK (discounted_price > 0 AND price > discounted_price)
);
CREATE TABLE
uxdb=# \d products
Table “public.products”
Column | Type | Collation | Nullable | Default
------------------±-------------------------±----------±---------±--------
product_no | integer | | not null |
product_date | timestamp with time zone | | |
price | numeric | | not null |
discounted_price | numeric | | not null |
Check constraints:
“my_check_of_table” CHECK (discounted_price > 0::numeric AND price > discounted_price)
“products_price_check” CHECK (price > 0::numeric)

uxdb=# insert into products values (1,now(),5,NULL);
ERROR: null value in column “discounted_price” violates not-null constraint
DETAIL: Failing row contains (1, 2020-06-03 11:34:54.845962+08, 5, null).
uxdb=# insert into products values (1,now(),5,6);
ERROR: new row for relation “products” violates check constraint “my_check_of_table”
DETAIL: Failing row contains (1, 2020-06-03 11:35:26.334107+08, 5, 6).
uxdb=#

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

评论