Werte mit Fremdschlüsseln in MySQL-Tabellen einfügen
In der Datenbankverwaltung ist es üblich, Tabellen mit Fremdschlüsseleinschränkungen zu erstellen, um Beziehungen zwischen ihnen herzustellen . In dieser Frage wird untersucht, wie Werte mit Fremdschlüsseln in Tabellen eingefügt werden, wobei zwei Szenarios berücksichtigt werden.
Szenario 1: Einfügen mit einem vorhandenen Fremdschlüsselwert
So fügen Sie einen Studentendatensatz ein Wenn Sie einen vorhandenen Lehrerdatensatz verwenden und den Fremdschlüssel über den Namen des Lehrers abrufen möchten, verwenden Sie die folgende Abfrage:
<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>
Diese Abfrage stellt sicher, dass der eingefügte Schülerdatensatz basierend auf dem angegebenen Namen mit dem richtigen Lehrer verknüpft ist.
Szenario 2: Einfügen mit einem neuen Fremdschlüsselwert
Um sowohl einen neuen Schüler als auch einen neuen Lehrer gleichzeitig einzufügen, sollte das folgende Verfahren befolgt werden:
Lehrerdatensatz einfügen:
<code class="sql">INSERT INTO TAB_TEACHER(name_teacher) VALUES ('Professor Jane')</code>
Neu eingefügte Lehrer-ID abrufen:
<code class="sql">SET @new_teacher_id = LAST_INSERT_ID()</code>
Einfügen der Schülerdatensatz mit dem auf die neue Lehrer-ID eingestellten Fremdschlüssel:
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Mary The Student', @new_teacher_id)</code>
Durch Ausführen dieser Schritte wird ein neuer Schülerdatensatz, der mit dem neu erstellten Lehrerdatensatz verknüpft ist, in den eingefügt Datenbank.
Das obige ist der detaillierte Inhalt vonWie füge ich Werte mit Fremdschlüsseln in MySQL-Tabellen ein: vorhandene oder neue Schlüssel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!