In MySQL können Sie mit den folgenden Schritten einen Tabellenfremdschlüssel erstellen: Erstellen Sie eine übergeordnete und eine untergeordnete Tabelle und stellen Sie sicher, dass die entsprechenden Spalten in der übergeordneten Tabelle vorhanden sind. Verwenden Sie FOREIGN KEY-Einschränkungen, um Spalten in der untergeordneten Tabelle mit Spalten in der übergeordneten Tabelle in Beziehung zu setzen. Geben Sie optional einen Kaskadenvorgang an, der die Auswirkungen auf untergeordnete Tabellendatensätze definiert, wenn übergeordnete Tabellendatensätze gelöscht oder aktualisiert werden. Führen Sie die Abfrage aus, um zu überprüfen, ob die Fremdschlüsseleinschränkungen korrekt angewendet wurden.
So erstellen Sie einen Tabellenfremdschlüssel mit MySQL
In MySQL werden Fremdschlüsseleinschränkungen verwendet, um sicherzustellen, dass Datensätze in einer untergeordneten Tabelle verwandten Datensätzen in der übergeordneten Tabelle entsprechen. Es trägt zur Aufrechterhaltung der Datenkonsistenz und -integrität bei. Hier sind die Schritte zum Erstellen eines Fremdschlüssels:
1. Erstellen Sie die übergeordnete und untergeordnete Tabelle.
Erstellen Sie zunächst die untergeordnete Tabelle, die die Fremdschlüsselspalte enthält. Stellen Sie sicher, dass die entsprechenden Spalten in der übergeordneten Tabelle vorhanden sind. Beispiel:
<code class="sql">CREATE TABLE parent_table ( id INT NOT NULL, name VARCHAR(255) ); CREATE TABLE child_table ( id INT NOT NULL, parent_id INT, name VARCHAR(255) );</code>
2. Erstellen Sie eine Fremdschlüsseleinschränkung.
Verwenden Sie die FOREIGN KEY
-Einschränkung in der untergeordneten Tabelle, um die Spalte parent_id
in der untergeordneten Tabelle mit zu vergleichen Der -Spalte in der übergeordneten Tabelle sind code>id
-Spalten zugeordnet. Beispiel: FOREIGN KEY
约束将子表中的 parent_id
列与父表中的 id
列关联起来。例如:
<code class="sql">ALTER TABLE child_table ADD FOREIGN KEY (parent_id) REFERENCES parent_table (id);</code>
3. 指定级联操作(可选)
级联操作定义当父表中的记录被删除或更新时,外键约束如何影响子表中的相关记录。您可以使用 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>
3. Geben Sie kaskadierende Operationen an (optional)
ON DELETE
und ON UPDATE
angeben. Zum Beispiel: <code class="sql">SELECT * FROM child_table WHERE parent_id NOT IN (SELECT id FROM parent_table);</code>
Wenn ein übergeordneter Datensatz, auf den in der übergeordneten Tabelle verwiesen wird, gelöscht wird, werden zugehörige untergeordnete Datensätze kaskadierend aus der untergeordneten Tabelle gelöscht. Updates werden blockiert, wenn der referenzierte übergeordnete Datensatz in der übergeordneten Tabelle aktualisiert wird.
4. Überprüfen Sie die Einschränkungen
🎜🎜Führen Sie nach dem Erstellen der Fremdschlüsseleinschränkung die folgende Abfrage aus, um zu überprüfen, ob die Einschränkung angewendet wurde: 🎜rrreee🎜Wenn die Abfrage Ergebnisse zurückgibt, zeigt dies an, dass kein entsprechender Datensatz vorhanden ist Der übergeordnete Datensatz befindet sich in der untergeordneten Tabelle und die Fremdschlüsseleinschränkungen wurden nicht korrekt angewendet. 🎜Das obige ist der detaillierte Inhalt vonSo schreiben Sie einen Fremdschlüssel, um eine Tabelle in MySQL zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!