2017-05-06 4 views
-2

Eine sehr grundlegende Frage, über die ich verwirrt bin, ähnlich wie UPDATE und DELETE CASCADE, werden Fremdschlüssel automatisch eingefügt, wenn der Primärschlüssel einer referenzierten Tabelle eingefügt wird?Werden Fremdschlüssel beim Einfügen des Primärschlüssels eingefügt?

Oder sind sie einfach eine Einschränkung, die sagt, um den Primray-Schlüssel zu überprüfen, der Referenz ist und falls vorhanden, fügen Sie hinzu, sonst Fehler.

Als Beispiel, ich bitte um etwas wie folgt aus:

... 
CONSTRAINT idFK 
    FOREIGN KEY(id) 
    REFERENCES Users(id) 
    ON DELETE CASCADE 
    ON UPDATE CASCADE 
... 

Hier finden id in dieser Tabelle automatisch eingefügt werden, wenn eine ID in Users Tabelle eingefügt wird?

Antwort

1

Wenn Sie einen Datensatz in die Tabelle "Benutzer" einfügen, wird nichts in andere Tabellen eingefügt. Wenn Sie einen Datensatz in eine Tabelle mit Fremdschlüssel einfügen, wird der Wert des Fremdschlüsselfelds nur mit dem Primärschlüsselwert in der übergeordneten Tabelle (hier "Benutzer") überprüft.

Verwandte Themen