Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

Mary-Kate Olsen
Freigeben: 2024-10-30 21:24:30
Original
391 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
    Nach dem Login kopieren
  2. Neu eingefügte Lehrer-ID abrufen:

    <code class="sql">SET @new_teacher_id = LAST_INSERT_ID()</code>
    Nach dem Login kopieren
  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>
    Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!