---
title: "2 foreign key med samma primary key i samma tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/150759-2-foreign-key-med-samma-primary-key-i-samma-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "mo:d:fi"
published: "2006-08-31T09:57:23.000Z"
updated: "2006-08-31T16:26:13.000Z"
replies: 5
views: 549
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/150759-2-foreign-key-med-samma-primary-key-i-samma-tabell"
---

# 2 foreign key med samma primary key i samma tabell

## #1 — mo:d:fi, 2006-08-31T09:57Z

Hej!

Sitter i MS Sql 2005 och har ett litet dilemma. I två tabeller har jag två kolumner
som jag vill ska agera som foreign key till samma primary key i en annan tabell.
Så vitt jag vet skall detta vara fullt möjligt men när jag satt upp båda 
relationerna så får jag ett felmeddelande när jag skall spara tabellen.
Felmeddelandet som kommer säger följande:

The ALTER TABLE statement conflicted with the FOREIGN KEY constraint 
"FK_relationships_users1". The conflict occurred in database "dedic3_3", table 
"dbo.users", column 'UserID'.

Någon aning om vad som kan orsaka detta? Har provat med att sätta in update 
till både no action och cascade som jag egentligen vill ha.

Permalänk: https://www.webforum.nu/p/150759

## #2 — Lasp, 2006-08-31T10:34Z

Är det samma typ på de sammansatta som den utpekade?

Permalänk: https://www.webforum.nu/p/1859880

## #3 — mo:d:fi, 2006-08-31T14:01Z

Jodå det är uniqueidentifier som datatyp i alla kolumner...

Permalänk: https://www.webforum.nu/p/1859935

## #4 — LarsG, 2006-08-31T14:37Z

Det beror nog på att du har data i tabell2 som inte finns i tabell1

Permalänk: https://www.webforum.nu/p/1859962

## #5 — mo:d:fi, 2006-08-31T14:50Z

Tack.

Det verkar fungera, nästan iallafall. Hittade en borttagen användare i foreign
key tabellen som förmodligen strulade till allting.
Nu uppkom det ett annat problem bara. Jag vill ha ON DELETE CASCADE på båda
relationerna så att när jag tar bort en användare från primary key tabellen så 
tas automatisk raderna bort i foreign key tabellen så att det ej behövs göras 
manuellt. De måste ju ändå tas bort så att det inte skall finnas några 
"föräldralösa" kolumner, men då får jag följande felmeddelande:

Introducing FOREIGN KEY constraint 'FK_relationships_users2' on table 
'relationships' may cause cycles or multiple cascade paths. Specify ON DELETE 
NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY 
constraints.
Could not create constraint. See previous errors.

Går detta att lösa eller måste jag manuellt plocka bort posterna i foreign key
tabellen innan jag raderar i primary key tabellen?

Permalänk: https://www.webforum.nu/p/1859967

## #6 — LarsG, 2006-08-31T16:26Z

Detta är en begränsning i SQL server. Det går att lösa om man skriver egna triggers.

Permalänk: https://www.webforum.nu/p/1860005

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/150759-2-foreign-key-med-samma-primary-key-i-samma-tabell
