Sql Проверить ограничение?

Я работаю над приложением C#, используя SQL Server в качестве базы данных, здесь очень простая проблема, которую я до сих пор не мог найти. Я создал проверочное ограничение на моем QUANTITY столбец как это:

QUANTITY >= 0

Количество обновляется из C#, и я не хочу, чтобы количество становилось меньше нуля, но когда мое количество равно 2, и я вычитаю 2, так что должно быть разрешено ноль как количество, но не меньше 0, но оно выдает следующее исключение:

Оператор UPDATE конфликтовал с ограничением CHECK \"CK_ITEM_DETAILS_QUANTITY\". Конфликт произошел в базе данных \"MyDatabase\", таблице \"dbo.ITEM_DETAILS\", столбце "QUANTITY".\ R \ n Оператор был прерван.

Есть идеи, что я делаю не так?

2 ответа

Решение

Я решил это, я просто изменить свое состояние с QUANTITY >= 0 К QUANTITY>0 OR QUANTITY=0 и теперь он начинает работать нормально.:)

Без кода невозможно сказать, что именно пошло не так, но одно можно сказать наверняка: вы пытаетесь записать значение, где условие QUANTITY >= 0 не держит. Вы, кажется, ошибочно предполагаете, что это не так, но сообщение однозначно, и в этой области нет известных ошибок. Может быть, проблема округления с плавающей запятой?

Другие вопросы по тегам