以前はNULLではなかったdbテーブルを持っています(すべてのレコードに値があったため)。私は今それをnullableにする必要がありますのでオプションですが、SQLを使用してテーブルを削除して再作成することはできません。SQL Serverのフィールドをnullでないnullに変換できない
もっと厳しいモデル(より厳しいものではない)に向かうにつれて、データに影響を与えないのであれば、なぜこの制限がありますか?
以前はNULLではなかったdbテーブルを持っています(すべてのレコードに値があったため)。私は今それをnullableにする必要がありますのでオプションですが、SQLを使用してテーブルを削除して再作成することはできません。SQL Serverのフィールドをnullでないnullに変換できない
もっと厳しいモデル(より厳しいものではない)に向かうにつれて、データに影響を与えないのであれば、なぜこの制限がありますか?
ALTER TABLE table_name ALTER COLUMN column_name data_type NULL
次のことが可能です。
create table test (id int not null)
insert test values (1), (2), (3), (4), (5)
insert test values (null) -- fails
alter table test alter column id int null
insert test values (null) -- succeeds
select * from test
あなたがあなたをブロックから、テーブルデザイナーを停止することができます:[ツール|オプション|デザイナー|テーブルとデータベースデザイナ]> [テーブルの再作成が必要な変更を保存しない]をオフにします。
スクリプトを使用して、またはManagement Studioのテーブルデザイナでこれを実行しようとしていますか?テーブルデザイナー(少なくとも2008年)はこれをやらせませんが、スクリプトを使用することは完全に可能です。 –
@ Jon Seigel - なぜテーブルデザイナーがあなたをブロックするのですか? – leora
私は分かりません。私にはバグのようだ。 –