Werte mit Fremdschlüsseln in MySQL einfügen
Bei der Arbeit mit relationalen Datenbanken ist es oft notwendig, Werte mit Fremdschlüsseln in Tabellen einzufügen. So gehen Sie mit zwei spezifischen Fällen um:
FALL 1: Einfügen eines Schülers mit einem vorhandenen Lehrer
In diesem Fall kennen Sie den Namen des Lehrers und müssen ihn kennen Rufen Sie ihre ID aus der Tabelle TAB_TEACHER ab. Die folgende Abfrage verwendet eine Unterabfrage, um den Fremdschlüsselwert 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
In diesem Fall müssen Sie sowohl den neuen Lehrer als auch den neuen Schüler einfügen. Dies erfordert zwei separate INSERT-Anweisungen:
-- Insert the new teacher
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('John Smith')
-- Get the new teacher's ID
SET @id_teacher_fk = LAST_INSERT_ID()
-- Insert the new student with the foreign key value
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Jane Doe', @id_teacher_fk)
Bitte beachten Sie, dass die spezifische Syntax je nach Ihrer MySQL-Version variieren kann. Einzelheiten finden Sie in der offiziellen Dokumentation.
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