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