我在现有外键列上添加了默认约束,但是它不起作用。
我尝试在外键列上添加默认约束,但默认设置为其他值。该列设置为not null Int
。
ALTER TABLE [A] ADD CONSTRAINT [default_value] DEFAULT ((3)) FOR [ForeignKeyColumn]
GO
我尝试默认为3,但默认为0。
答案 0 :(得分:0)
根据您的评论:
我将其插入为空字符串。
好吧,如果您正在这样做:
insert into a (ForeignKeyColumn)
values ('');
ForeignKeyColumn
是一个数字,然后SQL会将''
转换为一个数字。瞧,这个数字是0
,因此不需要默认值。
如果要使用默认值,请从ForeignKeyColumn
中删除insert
。或使用default
:
insert into a (ForeignKeyColumn)
values (default);