Daniel Janik explains what happens when you don’t have trusted foreign key constraints:
Why is it untrusted? Perhaps we disabled the check to load data and neglected to re-enable it?
No matter what the reason is the next part is not as simple. This is for two reasons.
-
The data in the child table may not be valid. Since the key was not being checked I may have data in my table that isn’t represented in the parent.
-
The syntax is a bit silly. As Mike Byrd in Austin, TX says, Microsoft studders. The syntax to reenable is “CHECK CHECK”. Let’s look at how we reenable the Address key check.
Read on for pros and cons of disabling (or not trusting) foreign key constraints.