Heim > Datenbank > MySQL-Tutorial > Wie füge ich Daten mit Fremdschlüsseleinschränkungen in MySQL-Tabellen ein?

Wie füge ich Daten mit Fremdschlüsseleinschränkungen in MySQL-Tabellen ein?

Barbara Streisand
Freigeben: 2024-10-31 04:27:31
Original
448 Leute haben es durchsucht

How to Insert Data into MySQL Tables with Foreign Key Constraints?

Einfügen von Daten in Tabellen mit Fremdschlüsseleinschränkungen in MySQL

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:

Fall 1: Einfügen eines Schülers mit einem bereits vorhandenen Lehrer

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

Fall 2: Einfügen eines Schülers mit einem neuen Lehrer

Wenn der Schüler Wenn der Lehrer noch nicht in der Datenbank vorhanden ist, müssen Sie zwei separate Einfügevorgänge ausführen:

  1. Fügen Sie den neuen Lehrerdatensatz in die Tabelle TAB_TEACHER ein:
<code class="sql">INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Dr. Smith')</code>
Nach dem Login kopieren
  1. Verwenden Sie beim Einfügen des Schülers die ID des neu erstellten Lehrers (id_teacher) als Fremdschlüssel:
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mary The Student', LAST_INSERT_ID())</code>
Nach dem Login kopieren

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!

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