Das Erstellen von Tabellen-Fremdschlüsseleinschränkungen in MySQL stellt die referenzielle Integrität sicher. Die Schritte sind wie folgt: Erstellen Sie zwei Tabellen und geben Sie Primärschlüssel an. Fügen Sie der untergeordneten Tabelle eine FOREIGN KEY-Einschränkung hinzu, die auf den Primärschlüssel der übergeordneten Tabelle verweist. Geben Sie optional Referenzaktionen an (z. B. kaskadierende Löschvorgänge oder eingeschränkte Aktualisierungen).
Erstellen Sie Tabellen-Fremdschlüsseleinschränkungen in MySQL.
Wenn eine Fremdschlüsseleinschränkung zwischen zwei Tabellen eingerichtet wird, kann die referenzielle Integrität zwischen ihnen sichergestellt werden. Die folgenden Schritte führen in die Erstellung von Tabellen-Fremdschlüsseleinschränkungen in MySQL ein:
Schritt 1: Erstellen Sie zwei Tabellen
Erstellen Sie zwei Tabellen, in denen wir Fremdschlüsseleinschränkungen festlegen möchten:
<code class="sql">CREATE TABLE parent_table ( id INT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); CREATE TABLE child_table ( id INT NOT NULL, parent_id INT NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (parent_id) REFERENCES parent_table(id) );</code>
Schritt 2: Fremdschlüsseleinschränkungen hinzufügen in der untergeordneten Tabelle
Verwenden Sie in child_table
die Einschränkung FOREIGN KEY
, um die Spalte parent_id
auf parent_table <code>id zu verweisen
-Spalte in : child_table
中,使用 FOREIGN KEY
约束将 parent_id
列引用到 parent_table
中的 id
列:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id);</code>
第三步:指定引用操作(可选)
您可以使用 ON DELETE
和 ON UPDATE
子句指定在对父表进行删除或更新操作时对子表中受影响记录的行为:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id) ON DELETE CASCADE ON UPDATE RESTRICT;</code>
在这段代码中:
ON DELETE CASCADE
:当从 parent_table
中删除记录时,将自动从 child_table
中级联删除相关记录。ON UPDATE RESTRICT
:当 parent_table
中的记录被更新时,将阻止对 child_table
rrreeeSie können ON DELETE
und The ON UPDATE
verwenden Die Klausel gibt das Verhalten für betroffene Datensätze in der untergeordneten Tabelle an, wenn ein Lösch- oder Aktualisierungsvorgang für die übergeordnete Tabelle ausgeführt wird:
ON DELETE CASCADE
: Wenn ein Datensatz gelöscht wird Aus parent_table
werden zugehörige Datensätze in der Kaskade automatisch aus child_table
gelöscht. ON UPDATE RESTRICT
: Wenn ein Datensatz in parent_table
aktualisiert wird, werden alle Aktualisierungen der betroffenen Datensätze in child_table
blockiert. Das obige ist der detaillierte Inhalt vonSo schreiben Sie Fremdschlüsseleinschränkungen beim Erstellen einer Tabelle in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!