2016-04-20 23 views
0

Ich möchte eine Eins-zu-viele-Beziehung zwischen zwei Tabellen erstellen, aber aus irgendeinem Grund wird eine Eins-zu-Eins-Beziehung erstellt.Ich erwarte 1-zu-viele aber 1-1 1-1.

Es ist seltsam, weil identischer Code für zwei andere Tabellen in der gleichen DB 1-Many-Beziehungen wie erwartet erstellen.

Hier ist mein Code

CREATE TABLE thing 
(
ThingID   INT   NOT NULL, 
Words   VARCHAR(50) NOT NULL, 
OtherWords  INT   NOT NULL, 

CONSTRAINT pk_TRIPID PRIMARY KEY (ThingID), 

) 


CREATE TABLE otherthing 
(
ThingID   INT   NOT NULL, 
Cost   SMALLMONEY NOT NULL, 
MoreWords  INT   NOT NULL, 

CONSTRAINT pk_Trip PRIMARY KEY (ThingID), 
CONSTRAINT fk_Trip FOREIGN KEY (ThingID) REFERENCES thing(ThingID) 
) 

Jede Hilfe bieten kann sehr geschätzt wird.

Antwort

0

Beide Tabellen haben einen Primärschlüssel von thingid.

Dies verhindert, dass viele in entweder Tabelle eingefügt werden. Die zweite Tabelle benötigt den Primärschlüssel entfernt und idealerweise zu einem anderen Primärschlüssel geändert, so dass mehr als eine Zeile mit einem bestimmten thingid eingefügt werden kann.

+0

Dies lässt mich immer noch mit einer Beziehung 1-1, auch mit einem anderen Primärschlüssel –

+0

@ j.m Nein, tut es nicht. Welches Werkzeug sagt dir das? –

+0

Macht nichts, ich habe es falsch gemacht! Vielen Dank :) –