为什么我不能将sql server中的字段从非null转换为null

时间:2010-11-30 05:00:52

标签: sql-server

我有一个以前不为null的db表(因此每个记录都有一个值)。我现在想让它可以为空,因此它是可选的,但似乎SQL不会让你这样做而不删除并重新创建表。

如果没有数据会受到影响,为什么会有这个限制,因为我要使用更宽松的模型(不是更严格的模型)?

3 个答案:

答案 0 :(得分:2)

您可以阻止表设计器阻止您:工具|选项|设计师|表和数据库设计者>取消选中“禁止保存需要重新创建表的更改”。

答案 1 :(得分:1)

ALTER TABLE table_name ALTER COLUMN column_name data_type NULL

答案 2 :(得分:0)

你可以:

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