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
не держит. Вы, кажется, ошибочно предполагаете, что это не так, но сообщение однозначно, и в этой области нет известных ошибок. Может быть, проблема округления с плавающей запятой?