Create foreign key without checking existing data

11,153

Yes you can have the same column inthe parent table refer to differnt columns in multiple tables.

I do not recommend turning off checking FK on creation. If you have bad data now, you need to fix it now. Otherwise the first time someone edits one of those records it will fail the FK check then.

From Books online as to why it is a bad idea to use nocheck:

If you do not want to verify new CHECK or FOREIGN KEY constraints against existing data, use WITH NOCHECK. We do not recommend doing this, except in rare cases. The new constraint will be evaluated in all later data updates. Any constraint violations that are suppressed by WITH NOCHECK when the constraint is added may cause future updates to fail if they update rows with data that does not comply with the constraint.

Share:
11,153
Gage
Author by

Gage

Languages Known: C#, Java, C++, VB.net

Updated on June 04, 2022

Comments

  • Gage
    Gage about 2 years

    This is a 2 part question.

    Question 1: I am trying to create a foreign key on a table where I need to turn off the "Check Existing Data on Creation or Re-Enabling". I know theres an option visually but I'm looking for a way to do it programmatically. Is there anyway to do this?

    Question 2: I have a code table and two tables A and B that need to reference that code table. I want to have these both referenced from a relationship table but I want to able to use the same column. Can I have 2 foreign keys pointing to the same column?