„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 > Umgang mit dem Einfügen von Fremdschlüsseln in MySQL-Abfragen: Zwei häufige Szenarien

Umgang mit dem Einfügen von Fremdschlüsseln in MySQL-Abfragen: Zwei häufige Szenarien

Veröffentlicht am 08.11.2024
Durchsuche:273

How to Handle Foreign Key Insertion in MySQL Queries: Two Common Scenarios

Wie man das Einfügen von Fremdschlüsseln in MySQL-Abfragen angeht

Um Werte effizient in Tabellen mit Fremdschlüsseln einzufügen, untersuchen wir zwei häufige Szenarien:

Szenario 1: Hinzufügen eines Schülers mit einem vorhandenen Lehrer

Um einen neuen Schüler mit einem bereits vorhandenen Lehrer zu verknüpfen, rufen Sie den Fremdschlüssel mithilfe des Namens eines Lehrers ab:

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;

Szenario 2: Gleichzeitiges Erstellen eines neuen Lehrers und eines neuen Schülers

Beim Erstellen eines neuen Schülers und eines nicht vorhandenen Lehrers:

-- Insert a new teacher first
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Professor Jade');

-- Retrieve the newly created teacher's ID
SET @teacher_id = LAST_INSERT_ID();

-- Insert the new student with the foreign key pointing to the new teacher
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mia The Student', @teacher_id);

In diesem Szenario wird die Funktion LAST_INSERT_ID() verwendet, um die ID des neu eingefügten Lehrers zur sofortigen Verwendung als Fremdschlüssel für den Schüler zu erfassen.

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