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:
Wenn Sie einen Schülerdatensatz zum Einfügen und den Lehrer, zu dem er gehört, haben bereits existiert, können Sie eine Unterabfrage verwenden, um den Fremdschlüssel (id_teacher) basierend auf dem Namen des Lehrers abzurufen:
<code class="sql">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</code>
Wenn der Schüler Wenn der Lehrer noch nicht in der Datenbank vorhanden ist, müssen Sie zwei separate Einfügevorgänge ausführen:
<code class="sql">INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Dr. Smith')</code>
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mary The Student', LAST_INSERT_ID())</code>
Das obige ist der detaillierte Inhalt vonWie füge ich Daten mit Fremdschlüsseleinschränkungen in MySQL-Tabellen ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!