我想知道在postgresql中是否可以防止在表中输入小于零的值。

在我的示例中,我有一个库存表,每次使用Java应用程序购买该商品时,库存都会被减一,但是一旦它变为零,我希望它不允许输入值。

我知道我可以在自己制作的Java应用程序中执行此操作,但是在postgres表本身中是否有可能,所以当在零以下输入任何负数时,它不接受该值吗?

我想要一种可以更改表以添加约束的方法,因为已经创建了名为stock_availability的表和一个stock_quantity列,我希望为其应用不小于零的约束,因此我不希望这样做删除此表并重新创建

最佳答案

使用检查约束:

create table stock_availability
(
   stock_quantity integer not null,
   constraint stock_nonnegative check (stock_quantity >= 0)
);

要将其添加到现有表中,请使用ALTER TABLE
alter table stock_availability
   add constraint stock_nonnegative check (stock_quantity >= 0);

关于sql - 在PostgreSQL中防止小于零的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21503658/

10-11 06:56