Да, это было необходимо.
Ограничение для поля BIT
не может работать в поле tinyint
, так как они имеют разные типы данных.
Значение BIT
1
не означает «номер один», оно означает true
или yes
или on
.
Это как если бы у вас было правило:
Это значение должно быть датой между 01.01.2010 и 12/31/2010
... и затем вы изменили значение на десятичный тип данных.Десятичная дробь не может соответствовать критериям ограничения.
Перед операциями DDL необходимо отключить ограничения, поскольку они могут быть недействительными после изменения.