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
Freigeben: 2024-10-29 16:20:02
Original
488 Leute haben es durchsucht

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

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

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!

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