Heim >Datenbank >MySQL-Tutorial >Wie fügt man Werte mit Fremdschlüsseln in MySQL ein?

Wie fügt man Werte mit Fremdschlüsseln in MySQL ein?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 16:20:02499Durchsuche

How do you insert values with foreign keys in MySQL?

Werte mit Fremdschlüsseln in MySQL einfügen

Bei der Arbeit mit relationalen Datenbanken ist es oft notwendig, Werte mit Fremdschlüsseln in Tabellen einzufügen. So gehen Sie mit zwei spezifischen Fällen um:

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

In diesem Fall kennen Sie den Namen des Lehrers und müssen ihn kennen Rufen Sie ihre ID aus der Tabelle TAB_TEACHER ab. Die folgende Abfrage verwendet eine Unterabfrage, um den Fremdschlüsselwert 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>

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

Für diesen Fall benötigen Sie um sowohl den neuen Lehrer als auch den neuen Schüler einzufügen. Dies erfordert zwei separate INSERT-Anweisungen:

<code class="sql">-- Insert the new teacher
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('John Smith')

-- Get the new teacher's ID
SET @id_teacher_fk = LAST_INSERT_ID()

-- Insert the new student with the foreign key value
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Jane Doe', @id_teacher_fk)</code>

Bitte beachten Sie, dass die spezifische Syntax je nach MySQL-Version variieren kann. Einzelheiten finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonWie fügt man Werte mit Fremdschlüsseln in MySQL ein?. 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