我不确定构建问题的最佳方法是什么。
我有一个包含外键列的表。默认情况下,外键设置为NOT NULL
,我想暂时保留它,因为这可能是最终结果。但是现在可能存在不需要(并且具有)外键值的记录,并且我想以某种方式区分它们,因此尽可能清楚地表明这些记录与另一个记录不同。
我试过,但似乎我不能使用bigint
的负数,这是我的SQL Server表中外键的值。我想这是非常标准的东西,除了将外键设为NULL
之外,在这种情况下最好的做法是什么?
答案 0 :(得分:3)
不确定为什么HABO没有得到答案,因为这几乎是你唯一的选择。
如果您的记录不需要FK而且永远不会,那么您应该将列设置为NULL,否则使用临时值。
您不能使用负值,因为如果您有外键约束,您必须引用外表中的某些内容。
答案 1 :(得分:1)
外键约束强制您引用另一个表的现有PK。
目前尚未提及的一种方法是暂时删除约束:
ALTER TABLE YourTable
DROP CONSTRAINT fk_something