0

我正在使用 SQL Server 作为数据库开发 C# 应用程序,这是一个非常简单的问题,直到现在我才发现。我在我的QUANTITY列上创建了一个检查约束,如下所示:

QUANTITY >= 0

数量是从 C# 更新的,我不希望数量小于零,但是当我的数量为 2 并且我减去 2 时,它应该允许零作为数量但不小于 0,但它会引发以下异常:

UPDATE 语句与 CHECK 约束 \"CK_ITEM_DETAILS_QUANTITY\" 冲突。数据库 \"MyDatabase\"、表 \"dbo.ITEM_DETAILS\"、列 'QUANTITY' 中发生冲突。\r\n 语句已终止。

知道我做错了什么吗?

4

2 回答 2

1

如果没有代码,就不可能说出究竟出了什么问题,但有一件事是肯定的:您正在尝试编写一个条件QUANTITY >= 0不成立的值。您似乎错误地认为您不是,但该消息是明确的,并且该区域没有已知的错误。也许是浮点舍入问题?

于 2014-03-11T23:01:27.970 回答
1

我解决了它,我只是将我的条件从QUANTITY >= 0TO更改为QUANTITY>0 OR QUANTITY=0现在开始正常工作。:)

于 2014-03-12T20:44:53.520 回答