Den primære nøgle i Person-tabellen er formodentlig en identitet. Dette er et automatisk inkrementerende heltalsfelt.
Du skal lave fremmednøglen i adressetabellen af typen int, ikke identitet. Den vil indeholde heltal, der svarer til personregistreringer, men du ønsker ikke, at fremmednøglen automatisk stiger. For hver post i den underordnede tabel (adresse) vil du indstille en specifik værdi for fremmednøglen, der angiver, hvilken overordnet post (Person) den tilhører.
Eksempel:
INSERT person (firstname, lastname) VALUES ('John', 'Smith')
Dette vil indsætte den nye personpost og feltet personid
udfyldes automatisk, fordi det er et IDENTITY-felt.
For at indsætte en adresse fra John Smith skal du kende hans personid
. For eksempel:
-- Say, for example, personid of John Smith is 55
INSERT address (personid, street, city) VALUES (55, 'High Street', 'London')
Altså i person
tabellen genereres personid automatisk, men i address
tabel angiver du den værdi, der matcher en eksisterende person. Det er hele pointen med en fremmednøgle.
Uden flere oplysninger om dit skema er det svært at gætte problemet.