Heim  >  Artikel  >  Datenbank  >  Wie füge ich Werte mit Fremdschlüsseln in MySQL-Tabellen ein: vorhandene oder neue Schlüssel?

Wie füge ich Werte mit Fremdschlüsseln in MySQL-Tabellen ein: vorhandene oder neue Schlüssel?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 21:24:30392Durchsuche

How to Insert Values with Foreign Keys in MySQL Tables: Existing vs. New Keys?

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:

  1. Lehrerdatensatz einfügen:

    <code class="sql">INSERT INTO TAB_TEACHER(name_teacher)
    VALUES ('Professor Jane')</code>
  2. Neu eingefügte Lehrer-ID abrufen:

    <code class="sql">SET @new_teacher_id = LAST_INSERT_ID()</code>
  3. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn