Измените тип существующего столбца с помощью TSQL - как насчет ограничения? - PullRequest
2 голосов
/ 20 декабря 2011

Я хочу изменить тип столбца с бита на tinyint.Это мой SQL:

ALTER TABLE table ALTER COLUMN column TINYINT NOT NULL

Это говорит о том, что существует ограничение для столбца.Я снял ограничение, но действительно ли это необходимо?Какой правильный способ сделать это?Я думаю, что потом мне тоже нужно ограничение.

Спасибо:)

1 Ответ

1 голос
/ 20 декабря 2011

Да, это было необходимо.

Ограничение для поля BIT не может работать в поле tinyint, так как они имеют разные типы данных.

Значение BIT 1 не означает «номер один», оно означает true или yes или on.

Это как если бы у вас было правило:

Это значение должно быть датой между 01.01.2010 и 12/31/2010

... и затем вы изменили значение на десятичный тип данных.Десятичная дробь не может соответствовать критериям ограничения.

Перед операциями DDL необходимо отключить ограничения, поскольку они могут быть недействительными после изменения.

...