" /> Passwort <br /><input type="password" name="passwd" id="passwd" class="inputbox" size="18" alt="password" />
Nach Hause SQL Foreign Key
PDF

FOREIGN KEY - Eine Tabelle weist auf einen weiteren PRIMARY KEY.

Schauen Sie sich die folgenden beiden Tabellen:

Es gibt eine Tabelle "Personen":

P_idLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Es gibt eine Tabelle "Bestellungen":

O_IDOrderNoP_id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Beachten Sie, dass die Spalte "p_id" in der Tabelle "Bestellungen" anzeigt "p_id" in der Tabelle "Personen".

Die Spalte "p_id" in der Tabelle "Personen" ist ein PRIMARY KEY.

Die Spalte "p_id" in der Tabelle "Bestellungen" ist ein Fremdschlüssel.

FOREIGN KEY erlaubt keine fehlerhaften Daten in der Spalte "p_id" in der Tabelle "Bestellungen" und "Personen" einzufügen.

SQL FOREIGN KEY-Einschränkungen in CREATE TABLE

Die folgende SQL schafft eine FOREIGN KEY-Spalte "p_id", bei der Erstellung der Tabelle "Bestellungen":

MySQL:

CREATE TABELLE Bestellungen (
O_ID int NICHT NULL,
OrderNo int NICHT NULL,
P_id int,
PRIMARY KEY (O_ID),
FOREIGN KEY (P_id) REFERENZEN Personen(P_id)
)

SQL Server / Oracle / MS Access:

CREATE TABELLE Bestellungen (
O_ID int NICHT NULL PRIMARY KEY,
OrderNo int NICHT NULL,
P_id int FOREIGN KEY REFERENZEN Personen(P_id)
)

Sie können verteilen Limiter Fremdschlüssel auf mehrere Spalten, um die folgende Syntax SQL verwenden:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
6
7
8
CREATE TABELLE Bestellungen(
O_ID int NICHT NULL,
OrderNo int NICHT NULL,
P_id int,
PRIMARY KEY (O_ID),
CONSTRAINT fk_PerBestellungen FOREIGN KEY (P_id)
REFERENZEN Personen(P_id)
)

SQL FOREIGN KEY-Einschränkungen in ALTER TABLE

Die folgende SQL schafft eine FOREIGN KEY-Spalte "p_id", wenn die "Bestellungen" Tabelle bereits erstellt:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
ALTER TABELLE Bestellungen
ADD FOREIGN KEY (P_id)
REFERENZEN Personen(P_id)

Sie können verteilen Limiter Fremdschlüssel auf mehrere Spalten, um die folgende Syntax SQL verwenden:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
ALTER TABELLE Bestellungen
ADD CONSTRAINT fk_PerBestellungen
FOREIGN KEY (P_id)
REFERENZEN Personen(P_id)

Entfernung von FOREIGN KEY

So löschen Sie eine FOREIGN KEY-Einschränkung mithilfe der folgenden SQL:

MySQL:

1
2
ALTER TABELLE Bestellungen
DROP FOREIGN KEY fk_PerBestellungen

SQL Server / Oracle / MS Access:

1
2
ALTER TABELLE Bestellungen
DROP CONSTRAINT fk_PerBestellungen

Kommentare

 
+5 #1 Симо 2011-07-07 15:50 Sehr hilfreiches Tutorial. Erst jetzt wurde mir klar, was diese Fremdschlüssel. Zitieren
 
 
+3 #2 Sin 2011-08-14 17:32 Vielen Dank für die Lektion, nur zwei voznyklo Frage:
1
2 s?
Zitieren
 
 
+1 #3 pnz 2012-02-21 11:28
w3schools.com /.../...
Zitieren
 

Genehmigung

Nizza Ajax Poll

Welche meiner Erweiterungen ist die beste?

Statistiken

Anzeige