„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie füge ich Daten mit Fremdschlüsseleinschränkungen in MySQL-Tabellen ein?

Wie füge ich Daten mit Fremdschlüsseleinschränkungen in MySQL-Tabellen ein?

Veröffentlicht am 22.12.2024
Durchsuche:506

How to Insert Data into MySQL Tables with Foreign Key Constraints?

Einfügen von Daten in Tabellen mit Fremdschlüsseleinschränkungen in MySQL

Tabellen mit Fremdschlüsselbeziehungen erfordern besondere Überlegungen beim Einfügen von Daten, um die Datenintegrität sicherzustellen. Lassen Sie uns untersuchen, wie Einfügungen in MySQL für zwei Szenarien gehandhabt werden:

Fall 1: Einfügen eines Schülers mit einem bereits vorhandenen Lehrer

Wenn Sie einen Schülerdatensatz einfügen möchten und den Lehrer angeben, zu dem er gehört bereits existiert, können Sie eine Unterabfrage verwenden, um den Fremdschlüssel (id_teacher) basierend auf dem Namen des Lehrers abzurufen:

INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
SELECT 'Joe The Student', id_teacher
  FROM TAB_TEACHER
 WHERE name_teacher = 'Professor Jack'
 LIMIT 1

Fall 2: Einfügen eines Schülers mit einem neuen Lehrer

Wenn der Lehrer des Schülers noch nicht in der Datenbank vorhanden ist, müssen Sie zwei separate Einfügevorgänge durchführen:

  1. Fügen Sie den neuen Lehrerdatensatz in die Tabelle TAB_TEACHER ein:
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Dr. Smith')
  1. Verwenden Sie die ID des neu erstellten Lehrers (id_teacher) als Fremdschlüssel beim Einfügen des Schülers:
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mary The Student', LAST_INSERT_ID())
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3