防止postgresql中的值小于零

Joh*_*ohn 8 sql postgresql

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

在我的例子我有一个库存表,每次一个项目是买的股票是由一个使用Java应用程序minused,但是一旦它到达零,我希望它不会允许值的条目.

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

我想要一个方法,我可以改变表来添加约束,因为我已经创建了一个名为stock_availability的表和一个stock_quantity列,我想要应用它的约束不小于零,我宁愿不删除此表并重新创建它

a_h*_*ame 16

使用检查约束:

create table stock_availability
(
   stock_quantity integer not null,
   constraint stock_nonnegative check (stock_quantity >= 0)
);
Run Code Online (Sandbox Code Playgroud)

要将其添加到现有表,请使用 ALTER TABLE

alter table stock_availability
   add constraint stock_nonnegative check (stock_quantity >= 0);
Run Code Online (Sandbox Code Playgroud)

  • 对不起,我会从现在开始,顺便说一下检查之前不需要支架它应该只是 - 检查(stock_quantity> 0) (2认同)