我想知道在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/