Heim > Datenbank > MySQL-Tutorial > So schreiben Sie einen Fremdschlüssel, um eine Tabelle in MySQL zu erstellen

So schreiben Sie einen Fremdschlüssel, um eine Tabelle in MySQL zu erstellen

下次还敢
Freigeben: 2024-04-22 19:51:15
Original
445 Leute haben es durchsucht

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 schreiben Sie einen Fremdschlüssel, um eine Tabelle in MySQL zu erstellen

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

3. 指定级联操作(可选)

级联操作定义当父表中的记录被删除或更新时,外键约束如何影响子表中的相关记录。您可以使用 ON DELETEON UPDATE

<code class="sql">ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table (id)
ON DELETE CASCADE
ON UPDATE RESTRICT;</code>
Nach dem Login kopieren

3. Geben Sie kaskadierende Operationen an (optional)

  • Kaskadierende Operationen definieren, wie sich Fremdschlüsseleinschränkungen auf verwandte Datensätze in der untergeordneten Tabelle auswirken, wenn Datensätze in der übergeordneten Tabelle gelöscht oder aktualisiert werden. Sie können diese Vorgänge mithilfe der Klauseln 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>
Nach dem Login kopieren
  • Dieses Beispiel gibt an:
  • 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!

    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage